TGViewer
Devs Hive Devs Hive @devshive · 1.42K subscribers
Post #9 345
Види індексів в базі даних

❓ Проблема:
Коли таблиця збільшується, тривалість seq scan (послідовного читання рядків) зростає лінійно відносно розміру таблиці. Коли розмір доходить до кількох мільйонів записів, прості запити, наприклад пошук за ідентифікатором, починають виконуватися кілька секунд.

✅ Рішення:
Використовувати індекси - структури даних, призначені для прискорення пошуку. Існує досить багато типів індексів, розглянемо найпопулярніші:

B-Tree
Найпоширеніший і найуніверсальніший тип індексу. Це збалансоване дерево пошуку, яке дає змогу швидко виконувати пошук за рівністю, діапазоном і префіксом рядка.

Hash
Hash-індекси працюють на основі хеш-таблиці. Дають змогу швидко виконувати пошук за рівністю.

GIN
Generalized Inverted Index - це інвертований індекс, який будується за стовпцем із типом tsvector для ефективного повнотекстового пошуку. Також у Postgres для GIN існують operator classes, наприклад gin_trgm_ops, який дає змогу ефективно шукати в текстовому стовпці за запитами на кшталт where column like '%query%' за допомогою розбиття тексту на триграми.
  • 👍 6
  • ❤ 2
More from @devshive
  1. Oct 7, 2026Post #289
  2. Oct 7, 2026Post #288
  3. Oct 6, 2026Цікаве оновлення в Nest.js 🔥 Вони випиляли Axios з HTTP клієнта і тепер використовують na…
  4. Oct 6, 2026Ще одне практичне застосування Jev - jevgrep 🤯☕️ Це інструмент для пошуку потрібного коду…
  5. Oct 5, 2026Post #285
  6. Oct 4, 2026Дуже багато відповіли, що Promise виконає обчислення в окремому потоці 🚬 Треба робити від…
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 →