优化分页查询
第一种优化思路(延迟联接)
EXPLAIN
SELECT a.film_id, a.description
FROM film a
INNER JOIN (
SELECT film_id
FROM film
ORDER BY title
LIMIT 50, 5
) b ON a.film_id = b.film_id;
+-------------+--------------------------------+
|id |1 |1 |2 |
+-------------+--------------------------------+
|select_type |PRIMARY |PRIMARY |DERIVED |
+-------------+--------------------------------+
|table |<derived2>|a |film |
+-------------+--------------------------------+
|partitions |NULL |NULL |NULL |
+-------------+--------------------------------+
|type |ALL |eq_ref |index |
+-------------+--------------------------------+
|possible_keys|NULL |PRIMARY |NULL |
+-------------+--------------------------------+
|key |NULL |PRIMARY |idx_title |
+-------------+--------------------------------+
|key_len |NULL |2 |514 |
+-------------+--------------------------------+
|ref |NULL |b.film_id|NULL |
+-------------+--------------------------------+
|rows |55 |1 |55 |
+-------------+--------------------------------+
|filtered |100 |100 |100 |
+-------------+--------------------------------+
|Extra |NULL |NULL |Using index|
+-------------+--------------------------------+第二种优化思路(把 LIMIIT 查询转换成某个位置的查询)
最后更新于