【发布时间】:2012-03-16 15:49:31
【问题描述】:
此查询的效率如何。它在子查询中从同一个表中选择两次。
SELECT DISTINCT country, rowCount FROM
(
SELECT *, (
SELECT COUNT(id) FROM tbl WHERE hide != 1 AND country = y.country
) AS rowCount FROM tbl y
) AS x
HAVING rowCount >= 1
ORDER BY x.country ASC
我已经在需要的地方为表建立了索引,并且查询在“0.000 秒”内执行(HeidiSQL 说)所以它一定很好,但是有什么可以改进查询结构的吗?
【问题讨论】:
-
这个查询有什么作用?
-
它选择不同国家名称的列表,其中具有相同国家代码的字段数量大于或等于1。
-
这太复杂了(如果我理解正确的话)。
标签: mysql performance subquery