Какой вид индекса используется по умолчанию в PostgreSQL
Python
Middle
Без компании
Какой вид индекса используется по умолчанию в PostgreSQL
Ответы
В PostgreSQL по умолчанию создаются два типа индексов:
- **B-tree** - используется по умолчанию для большинства операций (сравнение, сортировка, уникальность). Оптимален для равенства и диапазонных запросов. Пример:
```
CREATE INDEX idx_name ON users(name); -- создаст B-tree индекс
```
- **Hash** - автоматически создаётся для первичных ключей (PRIMARY KEY) и уникальных ограничений (UNIQUE), но фактически под капотом тоже используется B-tree, так как hash индексы имеют ограничения (не поддерживают сортировку, диапазонные запросы).
Важные нюансы:
- Для PRIMARY KEY всегда создаётся уникальный B-tree индекс
- Для UNIQUE также создаётся B-tree индекс
- Можно явно указать другой тип индекса (GIN, GiST и др.) при создании
- Индексы автоматически создаются при добавлении ограничений PRIMARY KEY/UNIQUE