MySQL解释:如何计算检查的总行数?

时间:2017-05-31 11:37:42

标签: mysql

我在下面有一个解释结果,问题是如何计算检查的总行数?请详细说明〜(先问问题〜如果有任何错误,请指正,我将非常感激)

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

1 个答案:

答案 0 :(得分:1)

来自手册:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html

  

行(JSON名称:行)

     

rows列表示MySQL认为必须的行数   检查以执行查询。

     

对于InnoDB表,此数字是估算值,可能并非总是如此   精确。

您的某个表格中有一个非常高的140万,但possible_keys列为空。这意味着这是一张迫切地急于被索引的表格。

要检查的大量行就意味着这一点。 Mysql需要读取所有这些行以便为您提供结果。

如果您发布了表格和查询,我们可以帮助您弄清楚这些索引应该是什么。