TGViewer
C# Short Posts 🔞 C# Short Posts 🔞 @dimasshortposts · 307 subscribers
Post #223 536
⚾ Специалист по PostgreSQL выдал базу: Индексы – это костыли для PK.

Часть 1. Здравый смысл.

Ваще не шарю в базах данных. На всяких собесах всегда трясусь коленками и краснею щеками, когда спрашивают про уровни изоляции транзакции. В работе почему-то не краснею. Быстро что-то вспоминаю и как-то живу.

Иногда вот выходят такие доклады, после которых думаешь что прозрел и теперь не будешь трястись коленками. Не знаю, видели вы или нет, доклад от Андрея Сальникова "Индексы в PostgreSQL. Как понять, что создавать", но это, короче, именно такой ЛЕГЕНДАРНЫЙ доклад.

В течение двух часов все идет строго по практике. Я за один присест посмотреть не смог, поэтому глядел, как тик-ток – по одному салйду за раз и все конспектировал (не подумайте, что я конспектирую тик-ток).

Разбил конспект на логические части и буду понемногу превращать в удобоваримое и выкладывать:

🅰️ Какие штуки я для себя подчерпнул:

0️⃣ Как нужно относиться к индексам: Индексы – это костыли для PK. Необходимые, но костыли.

1️⃣ У обычных приложений профиль нагрузки: 90-95% – чтение, 5-10% – запись. Если ваш профиль нагрузки сильно смещается в сторону чтения, то это значит, что реляционная база вам не подходит, и вам нужно использовать колоночные базы или что-то еще.

2⃣️️️️️️ В постгрессе строки не меняются, а вставляются новые версии (MVCC и все дела). Старые версии со временем чистятся ваакуумом. Но вот с индексами так не происходит!, поэтому индексы в постгрессе могут раздуваться. Их нужно пересоздавать время от времени.

3️⃣ Индексы замедляют запись, но для реляционных баз данных это не так критично из-за пункта 1️⃣ – так как записей все же меньше в нормальном случае.

#postgresql #андрейсальников
  • 🔥 9
  • 👍 3
  • ❤ 1
More from @dimasshortposts
  1. Sep 30, 2026🛤 Путь до Tier1: от чего он зависит В прошлый раз мы гоняли hello world в цикле и увидели…
  2. Sep 26, 2026🧵 Тредик для вопросов по докладу про MAF на дотнексте В докладе многие подробности опусти…
  3. Sep 23, 2026Даже самым хардкорным ребятам надо отдыхать, так что отдыхаем, мои чюваки 🕺 🧑‍💻dp🥁 #he…
  4. Sep 16, 2026🎯 Instrumented Tier0: профилирование кода В прошлый раз мы разобрали два уровня компиляци…
  5. Sep 15, 2026🔜 Готовлюсь к DOTNEXT 2026 В прошлом году за две недели до выступления я зачитывал свой д…
  6. Sep 9, 2026C# Short Posts 🔞 pinned «🐸 О чём этот канал? Кажется, я уже достаточно давно веду этот к…
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 →