SQLite教程(十):内存数据库和临时数据库

所属分类: 数据库 / SQLite 阅读数: 133
收藏 0 赞 0 分享

一、内存数据库:

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

复制代码 代码如下:

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

    在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成功创建了。由于没有持久化,该数据库在当前数据库连接被关闭后就会立刻消失。需要注意的是,尽管多个数据库连接都可以通过上面的方法创建内存数据库,然而它们却是不同的数据库,相互之间没有任何关系。事实上,我们也可以通过Attach命令将内存数据库像其他普通数据库一样,附加到当前的连接中,如:
 
复制代码 代码如下:

    ATTACH DATABASE ':memory:' AS aux1;
 

   
二、临时数据库:

    在调用sqlite3_open()函数或执行ATTACH命令时,如果数据库文件参数传的是空字符串,那么一个新的临时文件将被创建作为临时数据库的底层文件,如:
 

复制代码 代码如下:

    rc = sqlite3_open("", &db);
 

    或
 
复制代码 代码如下:

    ATTACH DATABASE '' AS aux2;
 

    和内存数据库非常相似,两个数据库连接创建的临时数据库也是各自独立的,在连接关闭后,临时数据库将自动消失,其底层文件也将被自动删除。
    尽管磁盘文件被创建用于存储临时数据库中的数据信息,但是实际上临时数据库也会和内存数据库一样通常驻留在内存中,唯一不同的是,当临时数据库中数据量过大时,SQLite为了保证有更多的内存可用于其它操作,因此会将临时数据库中的部分数据写到磁盘文件中,而内存数据库则始终会将数据存放在内存中。

更多精彩内容其他人还在看

SQLite教程(十二):锁和并发控制详解

这篇文章主要介绍了SQLite教程(十二):锁和并发控制详解,本文讲解了锁和并发控制机制概述、文件锁、回滚日志、数据写入、SQL级别的事务控制等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

SQLite教程(十三):C语言编程实例代码(1)

这篇文章主要介绍了SQLite教程(十三):C语言编程实例代码(1),本文讲解了获取表的Schema信息、动态创建表、删除该表、常规数据插入、创建测试数据表、删除测试表等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

SQLite教程(十四):C语言编程实例代码(2)

这篇文章主要介绍了SQLite教程(十四):C语言编程实例代码(2),本文讲解了高效的批量数据插入和数据查询代码实例,需要的朋友可以参考下
收藏 0 赞 0 分享

一些很有用的SQLite命令总结

这篇文章主要介绍了一些很有用的SQLite命令总结,本文总结了显示表结构、获取所有表和视图、获取指定表的索引列表、导出数据库到 SQL 文件、从 SQL 文件导入数据库等一些非常有用的操作命令,需要的朋友可以参考下
收藏 0 赞 0 分享

SQLite数据库常用语句及MAC上的SQLite可视化工具MeasSQLlite使用方法

这篇文章主要介绍了SQLite数据库常用语句及MAC上的SQLite可视化工具MeasSQLlite使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

SQLite 性能优化实例分享

本文给大家分享的是个人在实际项目中对于sqlite的一次优化的记录,非常简单实用,希望对大家学习sqlite能够有所帮助。
收藏 0 赞 0 分享

SQL中使用ESCAPE定义转义符详解

这篇文章主要介绍了SQL中使用ESCAPE定义转义符的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

SQLite3的绑定函数族使用与其注意事项详解

这篇文章主要介绍了SQLite3的绑定函数族使用与其注意事项的相关资料,文中通过示例代码介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

python之sqlalchemy创建表的实例详解

这篇文章主要介绍了数据库之sqlalchemy创建表的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握理解这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享

sQlite常用语句以及sQlite developer的使用与注册

sQlite数据库对大家来说应该都不陌生,下面这篇文章主要给大家介绍了关于sQlite常用语句以及sQlite developer使用与注册的相关资料,文中通过示例代码与图片给大家介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面来一起看看吧。
收藏 0 赞 0 分享
查看更多