我需要用数百万条记录填充数据库,我当前的例程如下所示:
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/