我在下面有一个解释结果,问题是如何计算检查的总行数?请详细说明〜(先问问题〜如果有任何错误,请指正,我将非常感激)
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
答案 0 :(得分:1)
来自手册:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html
行(JSON名称:行)
rows列表示MySQL认为必须的行数 检查以执行查询。
对于InnoDB表,此数字是估算值,可能并非总是如此 精确。
您的某个表格中有一个非常高的140万,但possible_keys
列为空。这意味着这是一张迫切地急于被索引的表格。
要检查的大量行就意味着这一点。 Mysql需要读取所有这些行以便为您提供结果。
如果您发布了表格和查询,我们可以帮助您弄清楚这些索引应该是什么。