栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

提高SQLite每秒INSERT的性能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

提高SQLite每秒INSERT的性能

几个技巧:

  1. 将插入/更新放入事务中。
  2. 对于较旧的SQLite版本,请考虑使用较少偏执的日记模式(pragma journal_mode)。有NORMAL,然后有OFF,如果您不太担心数据库可能因操作系统崩溃而损坏,则可以显着提高插入速度。如果您的应用程序崩溃了,数据应该没问题。请注意,在较新的版本中,OFF/MEMORY设置对于应用程序级崩溃不安全。
  3. 播放页面大小也会有所不同(PRAGMA page_size)。由于较大的页面保留在内存中,因此具有较大的页面大小可以使读取和写入的速度更快。请注意,更多的内存将用于您的数据库。
  4. 如果您有索引,请CREATE INDEX在完成所有插入操作后考虑调用。这比创建索引然后进行插入要快得多。
  5. 如果您可以并发访问SQLite,则必须非常小心,因为写入完成后整个数据库将被锁定,尽管可能有多个读取器,但写入将被锁定。通过在较新的SQLite版本中添加WAL,对此进行了一些改进。
  6. 利用节省空间的优势…较小的数据库运行速度更快。例如,如果您有键值对,请尝试将键设置为a(INTEGER PRIMARY KEY如果可能),它将替换表中隐含的唯一行号列。
  7. 如果使用多个线程,则可以尝试使用共享页面缓存,这将允许在线程之间共享已加载的页面,从而避免了昂贵的I / O调用。
  8. 不要使用!feof(file)!


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号