gpt4 book ai didi

python - sqlite是否缓存查询结果以进行优化?

转载 作者:行者123 更新时间:2023-12-01 05:49:04 24 4
gpt4 key购买 nike

我注意到 sqlite 中的这种行为。当我重新使用游标对象时,任务管理器中的工作集内存不断增加,直到我的程序抛出内存不足异常。

我重构了代码,以便每次查询时我都会打开一个到 sqlite 文件的连接,查询我想要的内容,然后关闭连接。

后者似乎不太需要内存。它不会增加超过某个点。

我对 sqlite 数据库所做的只是针对表进行简单的选择(其中包含两个聚合)。

这是我们可以以某种方式控制的行为吗?我想重用我的光标对象,但不希望内存被耗尽......

最佳答案

参见SQLite: PRAGMA cache_size

默认情况下,每个连接的缓存大小相当大(~2MB)。您可以使用 SQL 语句将其设置得更小:

PRAGMA cache_size=-KB

使用负“-”KB 值将其设置为千字节大小,否则设置要使用的页数。

此外,如果使用多个连接,您可能需要使用共享缓存来节省内存: SQLITE: Shared Cache

关于python - sqlite是否缓存查询结果以进行优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15069937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com