mysql EXPLAIN 扫描行数准确吗?
1 个回答
疑是仙女下凡来,回眸一笑胜星华。李靖`EXPLAIN` 的结果会包含 `rows` 列,它表示**SQL 预计扫描的行数**,但这只是**估算值**。如果你想获取**实际扫描的行数**,需要使用 `EXPLAIN ANALYZE`。 ### 1. 获取**预计扫描行数** 你可以运行: ```sql EXPLAIN SELECT * FROM your_table WHERE some_column = 'value'; ``` 然后看 `rows` 列,它表示**优化器估算的扫描行数**。 ### 2. 获取**实际扫描行数**(仅支持 MySQL 8.0+) ```sql EXPLAIN ANALYZE SELECT * FROM your_table WHERE some_column = 'value'; ``` 在 MySQL 8.0 及以上版本,这个命令会**真正执行查询**,并提供**实际扫描的行数**,通常在 `analyze` 输出的 `rows_examined` 字段中可以看到。发布于 2025-03-13 02:20 •IP属地 江西举报评论收藏
公众号进入网站体验更佳

