ORDER BY задаёт сортировку результата, HAVING фильтрует группы после группировки. Индексы могут ускорять чтение и сортировку, но занимают место и удорожают изменения данных.
Какой SQL-оператор отвечает за сортировку, когда используется HAVING и как индексы помогают или мешают операциям с таблицей?
ORDER BY задаёт сортировку результата, HAVING фильтрует группы после группировки. Индексы могут ускорять чтение и сортировку, но занимают место и удорожают изменения данных.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
ORDER BY задаёт сортировку результата, HAVING фильтрует группы после группировки. Индексы могут ускорять чтение и сортировку, но занимают место и удорожают изменения данных.
WHERE отбирает строки до агрегации, HAVING позволяет условия вроде COUNT(*) > 10. Порядок без ORDER BY не гарантируется, даже если план сейчас читает подходящий индекс.
Индекс полезен, когда соответствует фильтрам, соединениям и порядку доступа. INSERT, UPDATE и DELETE должны поддерживать его состояние, поэтому множество лишних индексов снижает скорость записи. Решение проверяют по планам и нагрузке, а не по правилу «индексировать все поля».