如何让 SQLite 缓存 select 命令的结果

Loz*_*zer 5 sqlite caching query-optimization

我正在运行一个带有后端 SQLite 数据库的 Web 应用程序,该数据库仅执行读取操作。用户连接到数据库,通过选择命令搜索条目,然后在浏览器中查看结果。但是,选择非常耗时,因为它涉及数百万表行的字符模式匹配。(结果表的大小相当小)。

不同的用户通常会执行完全相同的搜索,因此如果我可以缓存第一次选择的结果,则下一个搜索数据库的用户(同时或更可能是几天后)可以快速取回结果。

我怎样才能在 SQLite 中做到这一点?有我需要使用的编译指示吗?我听说 SQLite 有自动缓存功能,但这似乎没有帮助。请注意,我正在使用托管服务,因此无论如何我都无法重建 SQLite。

任何帮助将非常感激。

Loz*_*zer 1

发布上述问题后,我发现了一个似乎有效的简单解决方案,不需要对我使用的 CPanel 托管服务进行任何更改。

我没有缓存 SQL 结果,而是简单地缓存 PHP 脚本生成的整个网页。然后,进行完全相同搜索的用户将获得缓存页面,完全绕过数据库。

我在这里得到了基本的想法。

优点是涉及多个不同数据库调用的相当复杂的结果集都可以缓存在非常小的空间中。然后,使用 PHP 在一定时间后删除缓存的网页是一项简单的任务。

我希望这可以帮助其他解决类似问题的人。