Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: index, query optimization, partial index, covering index

Как частичные/покрывающие индексы (partial indexes) оптимизируют производительность?

Оценивает знание продвинутых техник индексирования для ускорения запросов.

Короткий ответ

Частичные индексы (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(*), агрегатных функций.

Вывод: Применяйте для часто запрашиваемых подмножеств данных и критичных по скорости запросов.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Postgres

    Postgres

Ключевые слова

#index

#query optimization

#partial index

#covering index

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.