EXPLAIN and COUNT returning two different values

后端 未结 1 1420
既然无缘
既然无缘 2021-01-20 17:39

i am doing:

explain select * from calibration;

it says 52133456345632 rows

when i do:

select count(*) from calibrat         


        
相关标签:
1条回答
  • 2021-01-20 18:14

    Table statistics (used by EXPLAIN) are based on system-cached values that may not be accurate.

    http://dev.mysql.com/doc/refman/5.1/en/using-explain.html says:

    For InnoDB tables, this number is an estimate, and may not always be exact.

    So the 'count()' version of the query will be accurate, as it will really 'count' existing rows. The 'explain' version does not necessarily count your rows, but might use an estimation/cache. Explain is not intended to be actually used in code or production - it is just a tool to help analysing your queries.

    0 讨论(0)
提交回复
热议问题