SQLite:防止碎片

时间:2011-10-13 17:10:09

标签: 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

或者查询性能如何在磁盘上构建数据并不重要?

1 个答案:

答案 0 :(得分:2)

通过使用第二种方法,如果您非常关心考虑它,那么您将获得一些微小的性能。但这取决于物理磁盘,碎片多少。

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