gpt4 book ai didi

sql - sqlite tune只读表

转载 作者:行者123 更新时间:2023-12-03 19:45:22 27 4
gpt4 key购买 nike

我的sqlite数据库中只有一个表T,仅用于执行选择。

该表T由多个进程(最多16个)同时访问。由于此表是“只读”的,我如何对其进行调整以提高查询的性能?

当日记模式=删除时,我收到以下错误消息:RS_SQLite_fetch:失败的第一步:即使并发进程只是在进行选择,数据库仍被锁定。然后,我更改了日记模式= wal,并且不再收到该消息。所以我的问题是:


我可以设置哪些参数来告诉数据库该表是只读的。
我可以将日记模式设置为永久关闭吗? Documentation说,每次打开数据库时,都必须设置日志模式。仅当模式为wal或delete时才能永久设置。
我可以指定一些选项来将该表存储或缓存在内存中吗?我不能使用字符串:memory:,因为该表将由不同的进程访问。
我还可以调整其他哪些参数?

最佳答案

SQLite不会锁定表。
所有锁定都在整个数据库上完成。

为防止对任何其他表的写入干扰并发读取,必须使用WAL模式,或将此表移至单独的数据库中。

journal_mode = off不会禁用锁定。

关于sql - sqlite tune只读表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21960157/

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