35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
|
---
|
|||
|
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) -->
|
|||
|
|