digital-garden/dev/database/postgresql/GIN индекс в PostgreSQL.md

35 lines
1.9 KiB
Markdown
Raw Normal View History

---
aliases:
- GIN индекс
tags:
- maturity/🌱
date: 2024-10-24
---
**Особенности GIN индекса в PostgreSQL:**
- Подходит для ускорения полнотекстового поиска и работы с полями типа `tsvector` или `jsonb`.
- Полезен для поиска по документам и массивам, позволяя быстро находить совпадения по множественным значениям.
- Может ухудшить производительность операций записи, поэтому важно учитывать это при выборе индексации.
Пример создания:
```sql
CREATE INDEX idx_name ON table_name USING gin (column_name);
```
**Оптимизация работы с GIN индексами:**
- При работе с `jsonb` полями доступны два типа операций индексации:
- `jsonb_ops`: Индексирует все ключи и значения, создавая объемный индекс, который подходит для универсального поиска.
- `jsonb_path_ops`: Индексирует пути в JSON, создавая более компактный индекс, подходящий для задач, где необходимо искать по конкретным путям.
***
## Мета информация
**Область**:: [[../../../meta/zero/00 PostgreSQL|00 PostgreSQL]]
**Родитель**:: [[Индекс в PostgreSQL|Индекс в PostgreSQL]]
**Источник**::
**Создана**:: [[2024-10-24]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->