在进行数据库查找、插入操作时,经常会出现一些临时文件,那么这些临时文件在内存中还是在磁盘中呢?
比如下面例子中第三步,使用临时的B树进行排序,这个临时的B树在内存还是磁盘中呢?

根据sqlite的文档,这个值是通过编译参数SQLITE_TEMP_STORE
和运行时参数temp_store
指定的。
编译参数SQLITE_TEMP_STORE
默认是1,运行时参数temp_store
默认是0,因此最终这些临时文件存储在磁盘中。

对于iOS系统自带的sqlite数据库来说,编译参数是不能改变的。可以改变temp_store
为2,指定临时文件存在内存中。这样可以带来性能上的优势,毕竟操作内存要比操作磁盘快。

posted on 2016-12-23 00:20 花老???? 阅读(494) 评论(0) 编辑 收藏