【发布时间】:2017-11-01 04:44:47
【问题描述】:
我在下面有一个解释结果,问题是如何计算检查的总行数?请详细说明~(先提问~如有错误请指正,不胜感激)
id select_type type possible_keys key_len rows
1 PRIMARY ALL 1423656
1 PRIMARY eq_ref PRIMARY 8 1
1 PRIMARY ref 152 1
1 PRIMARY ALL 138
1 PRIMARY ALL 1388
1 PRIMARY ALL 1564
3 DERIVED ALL 1684
3 DERIVED eq_ref PRIMARY 8 1
2 DERIVED ALL 141
【问题讨论】:
-
大约 140 万。确切的数字似乎并不重要。你真正想知道什么?
-
“rows”列是 MySQL 在获得正确结果集之前必须检查的行数的近似值。这是一个估计。正如@juergend 所说,您实际上想从中了解什么?
-
您需要将 ALL 的类型相乘,因为涉及到 JOIN(S),并将 eq_ref、ref 类型添加到该计数中以正确计算
-
@juergend 我只想估计要扫描多少行。我认为这是一种简单的判断 SQL 性能的方法,虽然它可能不准确。
-
这和 select_type 没有关系吗? @RaymondNijland
标签: mysql