测试目的:对比先建索引与后建索引的效率
数据字段20个,类型包括int、float、text
条数3376892
索引数1,字段类型int
数据库文件总大小760M
数据条数 |
耗时s |
速度r/s |
0~50w |
90 |
5500 |
50w~100w |
304 |
1600 |
100w~150w |
460 |
1080 |
|
|
|
|
|
|
先建索引的情况:
写到150w时耗时已经>14分钟,假设后面的性能与100w~150w时的性能持平,
后面还有大约200w数据460*4=1840s=30分钟,总耗时>44分钟
后建索引的情况:
无索引写入3376892条,耗时139s,写入速度24294r/s
然后执行创建索引耗时406s
总耗时545s
约9分钟
结论:在优化SQLite写入性能时,不仅考虑如何设计索引,还要考虑索引的创建时机