PostgreSQL. Запрос завис на 30 минут на проде. Ты делаешь EXPLAIN ANALYZE и видишь Seq Scan по таблице с 50M строк, хотя есть индекс по нужному полю. Что в первую очередь проверишь?
SQLhardsenior
Варианты ответа
Селективность фильтра + наличие функции вокруг колонки в WHERE — если матчится много строк или колонка обёрнута в func, оптимизатор выбирает Seq Scan
Версию PostgreSQL — индексы перестают использоваться автоматом после major upgrade, нужен ручной REINDEX по всем таблицам
Статус автовакуумa — если bloat ≥ 30%, автовакуум приоритезирует более маленькие таблицы и индексы становятся недоступны
Часовой пояс сервера — если он отличается от часового пояса данных в колонке, индекс по timestamp не используется
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.