【发布时间】:2023-03-30 03:18:02
【问题描述】:
需要有关此概念的帮助/建议。我有非常复杂的流利查询,它根据用户过滤器提取行。
我正在考虑制作将被缓存的未过滤(仅连接,没有 where/whereIns)查询,然后根据用户需要以某种方式过滤该缓存查询。
每次表单过滤器更改时查询 db 会有 2-3 秒的延迟,所以我猜这可以更好地执行。
现在未过滤的查询大约有 5k 行,平均过滤的查询会带来 500-1000 行。
查询大约有 25 列,包含 4 个 CONCATS、3 个 CASE 语句和 14 个 leftJoins。
这样对吗?还有其他建议吗?
提前致谢!
是的
【问题讨论】:
-
哪个系统缓存了未过滤的结果?
-
还没有。我以为 Laravel 5.1 Cache,带文件驱动?
-
您也可以使用 MySQL/MariaDB 缓存。所以你永远不会有旧的结果。当您写入在缓存结果中使用的表时,缓存被清除
-
好的,谢谢你的提示,我会看看的。所以这就像创建一个视图?
-
@Yuray 你可以阅读 MySQL 手册中的How the Query Cache Operates。
标签: php mysql laravel caching laravel-5.1