database - SQLite:防止碎片化

标签 database performance sqlite optimization data-structures

我需要用数百万条记录填充数据库,我当前的例程如下所示:

For I = 1 to 10000000
     INSERT INTO TABLE1 ...
     INSERT INTO TABLE2 ...
     INSERT INTO TABLE3 ...
Next

我注意到这些记录也以这种顺序(交替)出现在磁盘上的数据库文件中。当我这样做时会有性能改进吗:

For I = 1 to 10000000
     INSERT INTO TABLE1 ...
Next

For I = 1 to 10000000
     INSERT INTO TABLE2 ...
Next

For I = 1 to 10000000
     INSERT INTO TABLE3 ...
Next

或者数据在磁盘上的结构对于查询性能来说并不重要吗?

最佳答案

通过使用第二种方法,您将获得一些微小的性能,如果您非常关心考虑的话。但是要看物理磁盘,碎片多少。

我认为您应该专注于优化数据库和查询。

关于database - SQLite:防止碎片化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757803/

相关文章:

mysql - 如何获取MySQL中特定的列组合

performance - Tomcat内存信息

快速准确计算double的小数指数

java - 在 SQLite 中使用 Between 不返回每周数据

java - 如何在Java中并发使用SQLite?哪个是为此目的最好的 wrapper ?

java如何通过互联网访问网络服务器中的数据库?

database - 应该在哪里进行数据验证?

database - 如何有条件地在 MongoDB 集合中的所有子文档上设置新字段

c++ - std::vector::emplace_back 比 std::vector::push_back 慢的示例?

c# - 客户端计算机上的 "Unable to load DLL ' SQLite.Interop.dll' 错误