我有一张桌子要tag name
存放posts
table: tagname
tags | pid
festival | 10034
New York Fashion Week | 10034
festival | 10035
car | 10036
...
该表现在已经有 590,000 条记录。现在我想从这个表中获取前 10 个最受欢迎的标签。
SELECT tags, COUNT(*) as Num FROM tagname
GROUP BY tags
ORDER BY Num DESC
这将花费 23.88 秒。返回358 kinds of tags
tags | Num
festival | 7201
art | 6988
gift | 6755
...
如何优化这个查询,即使在my.cnf
?我尝试为标签添加索引,似乎没有效果。
编辑:
EXPLAIN SELECT tags, COUNT(tags) as Num FROM
标记名GROUP BY tags order by Num DESC
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE tagname ALL NULL NULL NULL NULL 597649 Using temporary; Using filesort