0

所以我有一个房地产网站。我有一个页面运行大约 5 个查询来构建一个统计页面。我想知道是否有一种方法可以加快速度或优化或组合查询以使其运行得更快。现在运行该页面最多需要 5 秒。

询问:

SELECT   COUNT(`listing_num`) as `count`,
         AVG(`price`),
         AVG(`square_feet`),
         AVG(`bedroom_total`),
         AVG(`bathroom_total`),
         MIN(`price`),
         MAX(`price`),
         MIN(`square_feet`),
         MAX(`square_feet`),
         MIN(`bathroom_total`),
         MAX(`bathroom_total`),
         MIN(`bedroom_total`),
         MAX(`bedroom_total`),
         MIN(`psf`),
         MAX(`psf`),
         AVG(`psf`)
FROM     `Res_Active2`
WHERE    `status` != 'S'

因此,我在页面上运行此查询大约 6 次不同的时间,每次更改 WHERE 子句,以便我可以显示已售物业、活动物业、合同下物业等的统计信息。

这样做的正确方法和快速方法是什么?我可以使用缓存,结合sql,什么?我需要加快这个页面的速度。谢谢。

4

1 回答 1

0

尝试设置 mysql 查询缓存。它只会执行一次并在所有其他查询中重用结果。要启用 mysql 缓存,请参阅mysql 缓存

我很确定你只要在你的 /etc/my.conf 中添加就足够了

query_cache_size=30M

如果这没有帮助,您可以创建一个特殊的表来保存该查询的结果,并通过外部脚本每 X 分钟更新一次该结果。

于 2012-12-06T00:42:50.197 回答