sqlite性能优化

发布时间 2023-12-12 15:01:53作者: 秋来叶黄

PRAGMA synchronous=OFF;

执行写入数据后,如何操作。

  • OFF 执行写入数据后,直接结束,继续下一步操作。如果这是系统崩溃,会丢失这部分数据。
  • NORMAL 执行写入数据后,刷新磁盘。如果没有写入完成,系统崩溃,会导致部分数据丢失。
  • FULL 执行写入数据后,刷新磁盘,并且锁定数据库,等待数据操作完成。要么写入失败,要么完成,不会丢失数据。

建议改成off,因为都是用sqlite了,估计也不是特别重要的数据,可以允许数据丢失。

PRAGMA count_changes=OFF;

打开数据库以来变更的条数。

没用的计数,可以关闭

PRAGMA temp_store=MEMORY;

把临时表数据存放到内存。比如select查询等产生的中间数据。

pragma mmp_size=10737418240;

内存映射的文件大小,建议设置的比sql文件大,尽可能把所有数据都加载到内存。

PRAGMA cache_size = 10000;

缓存大小,可以根据情况设定。可以查看默认值PRAGMA cache_size