这与我从this question运行的查询有关,即:
SELECT CONCAT_WS(', ', city, state) AS location, AVG(latitude), AVG(longitude)
FROM places
WHERE state='NY'
AND city='New York'
GROUP BY
state, city
我一直在看phpMyAdmin,他们有一个红色标记的值,Handler_read_rnd_next。我认为这是有道理的;根据上述查询,如果某个位置有多个邮政编码,AVG()函数将按城市/州分组,然后扫描每个邮政编码。
我的问题是,这什么时候变得很糟糕?我应该开始缓存这些平均值,还是每隔几分钟就增加几千个Handler_read_rnd_next数据库是可以接受的?对于使用GROUP BY的任何查询,似乎这个数字会增加,所以我想知道这是否只是标准票价。
答案 0 :(得分:1)
我知道Roger已经不在了,但对于任何关心此事的人来说......
phpMyAdmin本身会在任何状态页面加载时将此值增加300到1k 。
所以不要仅仅通过phpMyAdmin结果。
答案 1 :(得分:0)
随机统计计数器的高值并不危险。如果您没有性能问题,则无需担心。就缓存而言:
不要执行过早优化。除非您知道这将成为瓶颈(或者已经存在),否则不要对其进行优化。手动缓存数据并不是免费的;它会让你的应用程序小心地保持缓存同步。
如果地方基本上是只读的,我猜它可能是,MySQL的查询缓存已经为你缓存了这个。由于MySQL透明地保持同步,因此唯一的成本是内存(这非常便宜)。检查查询缓存参数。