SQLITE:PRAGMA temp_store = MEMORY

时间:2011-09-26 15:09:43

标签: sqlite storage temp-tables temp

在所有优化指南中,人们都会谈论pragma,比如JOURNAL_MODE或SYNCHRONOUS,但我从未读过有关TEMP_STORE pragma的任何内容?我希望它有很大的影响,为什么它从未被提及?

它的目的是将所有SQLite的内部临时表从磁盘(临时目录)移动到内存,这似乎比在每个SELECT上访问磁盘要快得多?

1 个答案:

答案 0 :(得分:0)

SQLite在执行写操作时会锁定整个数据库,所以我想在继续执行下一个任务之前最好将数据放到盘片上。

将数据放入内存最有可能仅限于那些只需要临时数据存储的情况(如TEMP_STORE名称所示);你仍然需要提供一种定期将数据刷新到磁盘的方法(如果你想保存它),并且由于锁定不是精确的,你必须刷新整个数据库。

换句话说,TEMP_STORE不是缓存机制。