TGViewer
Типичный программист Типичный программист @tproger · 78.2K subscribers
Post #14852 4.6K
Нетипичные оптимизации PostgreSQL для отчётов и индексов

Обычный индекс по sold_at ускорил отчёт с 627 до 187 мс, но занял 214 МБ. При этом ежедневному отчёту не нужна точность времени до миллисекунд. Автор проиндексировал только дату и получил индекс на 66 МБ: повторяющихся значений стало больше, поэтому PostgreSQL смог сжать их дедупликацией.

Другой приём пригодится для аналитических запросов. Условие plan = 'Pro' против ограничения с вариантами free и pro заставило базу проверить 100 тысяч строк. После включения constraint_exclusion PostgreSQL сопоставил условие с ограничением и вовсе пропустил сканирование. Для простых запросов режим добавляет расходы на планирование, поэтому автор предлагает включать его точечно в системах отчётности.

В разборе нетипичных оптимизаций PostgreSQL есть SQL-запросы, планы выполнения и границы применимости каждого приёма.
  • 👍 3
  • 😁 2
  • ❤ 1
  • ✍ 1
  • ❤‍🔥 1
  • 😢 1
  • 🤩 1
  • 🤝 1
  • 🙊 1
More from @tproger
  1. Sep 28, 2026Для айтишников выпустят свой сет роллов и за состав можно проголосовать Ёёёёёёё и Yandex C…
  2. Sep 28, 2026Кодить — это хорошо, а разбираться в том, что происходит за кадром, тоже полезно. Что там…
  3. Sep 28, 2026photo post
  4. Sep 28, 2026Как фиксированный объём работы помогает пережить пиковую нагрузку Память ещё есть, значит…
  5. Sep 28, 2026Зачем Cloudflare Workers переписали реестр модулей под правила Node.js Старый реестр разби…
  6. Sep 27, 2026Сколько стоит превратить enum в строку через рефлексию C++26 Чистый код без макросов оказа…
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 →