Оценивает знание продвинутых техник индексирования для ускорения запросов.
Частичные индексы (WHERE) сокращают размер индекса за счет фильтрации записей. Покрывающие индексы (INCLUDE) содержат все данные для запроса, исключая чтение таблицы. Оба метода ускоряют выборки и снижают нагрузку на БД.
1. Частичные индексы (Partial Indexes):
Индексируют только подмножество строк по условию:
-- Индекс только для активных книг
CREATE INDEX idx_books_active ON books (title) WHERE is_active = true;Экономит 70% места для редко изменяемых данных.
2. Покрывающие индексы (Covering Indexes):
Содержат все поля запроса:
-- Индекс "покрывает" запрос
CREATE INDEX idx_books_cover ON books (author_id) INCLUDE (title, year);Для запроса:
SELECT title, year FROM books WHERE author_id = 123; -- Данные берутся только из индексаПреимущества:
Уменьшение I/O-операций (данные не читаются из таблицы).
Ускорение COUNT(*), агрегатных функций.
Вывод: Применяйте для часто запрашиваемых подмножеств данных и критичных по скорости запросов.