加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite中内存数据库的优点

发布时间:2020-12-12 23:43:39 所属栏目:百科 来源:网络整理
导读:我从今天关于SQLite的书中读到关键词“:memory:”,但它只说它是什么,如何使用,解释太短.所以我在这里搜索了更多信息,但无法获得SQLite特定信息. ’内存:’模式有哪些优点? (我什么时候需要这个?) 内存数据库的性能更快? 我还需要在内存数据库中使用事
我从今天关于SQLite的书中读到关键词“:memory:”,但它只说它是什么,如何使用,解释太短.所以我在这里搜索了更多信息,但无法获得SQLite特定信息.

>’内存:’模式有哪些优点? (我什么时候需要这个?)
>内存数据库的性能更快?
>我还需要在内存数据库中使用事务吗?

SQLite in-memory database的主要优点是性能:它不是读写磁盘,而是将整个数据库保存在内存中.内存比磁盘快得多.使用旋转磁盘或负载较重的IO服务器,您会看到最大的性能提升,而SSD的性能则更低.

但是,这不是解决错误的查询和表格的灵丹妙药.在到达内存数据库以提高性能之前,请确保优化表设计,查询和索引.

主要缺点是一旦进程关闭数据库就消失了.并且数据库不能大于可用内存.

提交可能更快,因为不需要写入磁盘,因此自动提交模式可能更快,但仍应将事务用于数据完整性目的.

请注意,不会太大的临时SQLite数据库可能会存储在内存中.

由于它的缺点,并且因为内存比存储少得多,所以在提交到内存数据库之前,请尝试使用临时数据库.这是通过使用”作为数据库文件名来完成的.这将写入临时文件,但缓冲内存缓存中的工作.它是两全其美的,你可以在不使用太多内存的情况下提高性能.

Even though a disk file is allocated for each temporary database,in practice the temporary database usually resides in the in-memory pager cache and hence is very little difference between a pure in-memory database created by “:memory:” and a temporary database created by an empty filename. The sole difference is that a “:memory:” database must remain in memory at all times whereas parts of a temporary database might be flushed to disk if database becomes large or if SQLite comes under memory pressure.

对应用程序进行概要分析和基准测试,以确保它会带来性能改进,考虑优化查询和添加索引是否更好,并确保数据消失后即可.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读