Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: low selectivity, small table, full scan, dml overhead

Когда использование индексов неэффективно?

Проверяет понимание условий, при которых индексы не дают выигрыша в скорости.

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

Индексы неэффективны, если селективность низкая (мало уникальных значений), таблица небольшая (Seq Scan быстрее), запросы возвращают большинство строк или когда частые DML-операции: вставки и обновления замедляются из-за постоянного обновления индексов.

Длинный ответ

Низкая селективность:

  • Булевы флаги или поля с 2–3 уникальными значениями.

Малая таблица:

  • Полный скан небольшого объёма быстрее обхода индекса.

Большие выборки:

  • Если запрос возвращает > 10–20% строк, Seq Scan дешевле.

Частые DML:

  • Индексирование замедляет INSERT/UPDATE/DELETE.

Альтернатива:

  • Частичные или условные индексы только для критичных запросов.

  • Аватар

    Golang Guru

    Maxim Lukyanov

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Postgres

    Postgres

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

#low selectivity

#small table

#full scan

#dml overhead

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

  • Аватар

    Golang Guru

    Maxim Lukyanov

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