TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 18K subscribers
Post #4900 1.5K
Почему ваш индекс в Postgres не работает — и как это исправить

Вы добавили индекс на колонку, но запрос всё равно тормозит? Скорее всего, вы столкнулись с одной из классических ловушек.

Первая: вы обернули колонку в функцию. WHERE lower(name) = 'pikachu' не использует индекс на name — Postgres видит функцию и идёт читать всю таблицу. Решение — функциональный индекс на lower(name).

Вторая: порядок колонок в композитном индексе. Индекс (type_1, type_2) работает для запросов на type_1 и на обе колонки вместе, но бесполезен для запросов только на type_2.

Третья: вы не проверили план запроса. EXPLAIN ANALYZE показывает, какой индекс реально использовался и сколько времени ушло.

Джон Чартер показывает на примерах, как работают частичные индексы с WHERE и покрывающие с INCLUDE. Без EXPLAIN вы просто гадаете — а база данных не любит угадывать за вас.

@prog_point (теперь ещё в VK и Max)
  • ❤ 1
  • 🆒 1
More from @prog_point
  1. Oct 14, 2026Как убрать файл из будущего коммита и сохранить правки После git add изменения попадают в…
  2. Oct 14, 2026Почему функция Python помнит старые элементы списка В функции с параметром items=[] пустой…
  3. Oct 14, 2026Почему правило ниже в CSS не меняет цвет ссылки? Порядок записи решает только при равной с…
  4. Oct 13, 2026Post #5190
  5. Oct 13, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  6. Oct 13, 2026Учёт расходов на Python: от ввода суммы до отчёта по категориям В пошаговом руководстве вы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →