【发布时间】:2016-03-08 16:01:25
【问题描述】:
假设我有一个 SQL 查询,它给了我一些复杂的数据,为了在 HTML 中正确显示它,我想出了一个方法,我运行两次相同(或相似)的查询。
为了避免两次运行相同的查询,我可以在内存中创建一个表(最多几百行),使用数组数组或类似的东西。
我的问题是:Postgresql 是否为最后一次操作提供某种缓存,在这种情况下,两次运行完全相同的查询而不是创建数组数组可能更有利?
【问题讨论】:
-
您是在请求之间存储还是在同一个 http 请求中存储?如果它是相同的,我会将结果存储在 PHP 中并重用它。你总是可以benchmark it。
-
除非是海量数据,否则缓存在php中。即使使用 DB 查询缓存,您仍然需要强制 DB 和 PHP 对数据进行编码/解码以进行在线传输,以及构建内部数据结构以保存查询数据的所有开销,等等等等。
标签: php performance postgresql caching