26.02.09 11:51GROUP BY и ORDER BY NULL
Не все знают, что MySQL по умолчанию упорядочивает результаты запроса по полям в GROUP BY. Это значит, что возможно использование filesort и других затратных операций сортировки.
В данном запросе используется filesort:
-
world@localhost>EXPLAIN SELECT CountryCode, Name FROM City GROUP BY CountryCode LIMIT 10;
-
+----+-------------+-------+------+---------------+------+---------+------+------+---------------------------------+
-
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
-
+----+-------------+-------+------+---------------+------+---------+------+------+---------------------------------+
-
| 1 | SIMPLE | City | ALL | NULL | NULL | NULL | NULL | 4079 | USING temporary; USING filesort |
-
+----+-------------+-------+------+---------------+------+---------+------+------+---------------------------------+
-
1 row in SET (0.00 sec)
Комментариев нет | Рубрики: MySQL, performance
