替代已弃用的sqlite pragma“default_cache_size”的方法

5

SQLite文档指出使用pragma default_cache_size已被弃用。但我没有找到任何解释原因的内容。这是为什么呢?我正在开发一个嵌入式Python程序,需要频繁打开和关闭数据库连接。难道唯一的替代方案是在每个数据库连接上使用pragma cache_size吗?


我也一直对此感到好奇。我怀疑这可能是因为缓存大小仅与托管进程相关,而与数据库(或数据的一致性)无关。据我所知,“cache_size”就是替代方案。SQLite始终可以重新编译为具有不同默认值的版本;-) - user166390
@pst:这就是我所做的。我使用不同的缓存大小和页面大小值重新编译了sqlite。 - Falmarri
1个回答

2

由于Firefox大量使用SQLite,如果这个请求是来自他们的阵营,以防止任何第三方干扰(例如通过这种pragma在所有数据库连接中传播“垃圾”大/小/无效/模糊值),我不会感到惊讶。

因此,我坚信没有其他选择,您确实需要为每个数据库连接设置cache_size


关于第三方干扰你的数据库,这是一个很好的观点。我没有想到过。重新编译使用不同的默认设置(以及其他一些更改)无论如何都是更好的解决方案。我会选择你的答案,因为可能没有更多可说的了。 - Falmarri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接