MySQLサーバーバージョン5.5.14を使用していますが、Explainコマンドを使用してこの単純なSQLクエリを試しています。
EXPLAIN SELECT id, name, thumb FROM `twitter_profiles` LIMIT 10;
そしてそれは私にこの結果を示しています:
+----+-------------+-------+------+---------------+------+---------+------+-------+-------+
| 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)
私の質問は、LIMIT句で指定した最初の10行を取得するのではなく、なぜテーブル全体をスキャンするのかということです。