我将10000000多条记录插入到sqlite基中。我是否可以安全地等待connection.commit()
直到完成所有插入操作?或者存在内存不足/溢出风险?未提交的条目是否可能使用所有可用内存并导致页面交换?每次INSERT
之后提交是一个性能杀手,所以我想避免它。
我在Python中使用sqlite3模块
最佳答案
首先,sqlite并不是真的要处理那么多数据。它通常用于较小的数据集。但是,在一次提交所有数据时,提交这么多数据可能需要更长的时间,如果要提交,比如每2或3次插入后提交一次。
就内存/溢出风险而言,sqlite会将所有内容转储到一个文件缓存中,然后在提交时将所有文件缓存放入sqlitedb文件中。
然而,一次承诺不应该给你任何问题。
关于python - sqlite3:我可以安全地等待commit(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13073817/