mySQL命令解释忽略LIMIT?

Jak*_*ach 10 mysql limit explain

我使用mySQL服务器版本5.5.14,现在我正在使用Explain命令尝试这个简单的SQL查询:

EXPLAIN SELECT id, name, thumb FROM `twitter_profiles` LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

它告诉我这个结果:

+----+-------------+-------+------+---------------+------+---------+------+-------+-------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows  | Extra |
+----+-------------+-------+------+---------------+------+---------+------+-------+-------+
|  1 | SIMPLE      | tp    | ALL  | NULL          | NULL | NULL    | NULL | 40823 |       |
+----+-------------+-------+------+---------------+------+---------+------+-------+-------+
1 row in set (0.02 sec)
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么它扫描整个表而不是像我在LIMIT子句中指定的前10行?

提前感谢您的建议!

干杯,

的Jakub

Hai*_*vgi 13

这里有关于MySQL EXPLAIN限制和错误的文章的良好链接

在估计行数时不考虑LIMIT即使你有限制将检查多少行的LIMIT,MySQL仍然会打印完整的数字