l--*_*''' 3 mysql sql count sql-execution-plan
我在做:
explain select * from calibration;
Run Code Online (Sandbox Code Playgroud)
它说52133456345632行
当我做:
select count(*) from calibration;
Run Code Online (Sandbox Code Playgroud)
我正在收到52134563456961
谁能解释一下这里发生的事情?
表统计信息(由EXPLAIN使用)基于可能不准确的系统缓存值.
http://dev.mysql.com/doc/refman/5.1/en/using-explain.html说:
对于InnoDB表,此数字是估计值,可能并不总是准确的.
因此查询的'count()'版本将是准确的,因为它将真正"计算"现有行.'explain'版本不一定计算您的行,但可能使用估计/缓存.Explain并不打算在代码或生产中实际使用 - 它只是一个帮助分析查询的工具.
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |