Сначала найдите медленные запросы и их планы: само число 10 млн строк ещё не объясняет проблему. Составной индекс хранит несколько колонок в заданном порядке и должен соответствовать фильтрам и сортировке.
Есть таблица с 10 миллионами пользователей, запросы работают медленно. Как решить проблему? Расскажи про составные индексы и принцип их работы.
Сначала найдите медленные запросы и их планы: само число 10 млн строк ещё не объясняет проблему. Составной индекс хранит несколько колонок в заданном порядке и должен соответствовать фильтрам и сортировке.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала найдите медленные запросы и их планы: само число 10 млн строк ещё не объясняет проблему. Составной индекс хранит несколько колонок в заданном порядке и должен соответствовать фильтрам и сортировке.
Для частого запроса WHERE tenant_id = ? ORDER BY created_at индекс (tenant_id, created_at) может быть полезен. Порядок колонок влияет на возможность сужения диапазона; условия только по поздним колонкам не равноценны ведущим, хотя отдельные СУБД умеют специальные стратегии. Учитывайте селективность, пагинацию и размер результата. Индексы занимают место и удорожают запись, поэтому результат проверяют планом и измерением.