为什么没有和使用EXPLAIN查询显示不同的行数?

时间:2017-03-13 10:03:40

标签: mysql sql-execution-plan

我在下面有以下查询: 1-选择计数()来自学生 2- EXPLAIN SELECT计数()来自学生

enter image description here

1 个答案:

答案 0 :(得分:0)

根据manual

  

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

     

对于InnoDB表,此数字是估算值,可能并不总是准确的。

我不知道它如何决定"估计"。

<强>更新

Database Administrators Stack Exchange上的这个答案表明它基于索引统计数据:

  

优化程序收集有关不同可能查询计划的信息,并选择成本最低的查询计划。 EXPLAIN中显示的信息是优化程序收集的有关其所选计划的信息。

这仍然没有完全解释在后台发生的事情。