首页 > 数据库 >SQLite 内存数据库学习手册

SQLite 内存数据库学习手册

来源:互联网 2026-07-28 16:41:02

一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递":memory:",如:复制代码 代码如下: rc = sqlite3_open(":

一、内存数据库

在SQLite中,数据库通常存储在磁盘文件里,不过有些场景下,让数据库完全驻留在内存中反而更方便。最常见的做法就是在调用sqlite3_open()时,把数据库文件名参数直接传成":memory:",比如这样:

rc = sqlite3_open(":memory:", &db);

长期稳定更新的攒劲资源: >>>点此立即查看<<<

执行完这行代码后,磁盘上不会有任何文件生成,取而代之的是一个纯内存数据库。当然,它没有持久化能力,当前数据库连接一关闭,数据就立刻消失。需要留意的是,多个数据库连接各自用":memory:"创建的内存数据库是相互独立的,彼此之间没有任何关联。不过,我们也可以借助ATTACH命令,把内存数据库像普通数据库一样附加到当前连接中:

ATTACH DATABASE ':memory:' AS aux1;

二、临时数据库

调用sqlite3_open()或执行ATTACH命令时,如果数据库文件参数传的是空字符串,SQLite会创建一个临时文件作为底层存储。例如:

rc = sqlite3_open("", &db);

或者

ATTACH DATABASE '' AS aux2;

这一点和内存数据库很像:两个连接创建的临时数据库也是各自独立的,连接关闭后自动消失,底层文件也会被自动删除。

话说回来,虽然磁盘文件被创建用来存储临时数据库的数据,但实际运行时,临时数据库通常也会像内存数据库一样驻留在内存中。唯一的区别在于:当临时数据库中的数据量过大时,SQLite为了保证有更多内存给其他操作,会把部分数据写到磁盘文件里;而内存数据库则始终把数据留在内存中,不会往磁盘上写。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。