Struchkov Mark
8b4fb13112
All checks were successful
continuous-integration/drone/push Build is passing
35 lines
3.2 KiB
Markdown
35 lines
3.2 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- maturity/🌱
|
||
date: 2024-10-21
|
||
---
|
||
[PostgreSQL: Documentation: 16: CREATE INDEX](https://www.postgresql.org/docs/current/sql-createindex.html): рекомендуется ознакомиться с официальной документацией для более глубокого понимания команды `CREATE INDEX` и всех доступных опций.
|
||
|
||
**Что нужно для создания индекса?**
|
||
- **Соберите статистику нагрузки на БД**. **Работайте только с продуктовым окружением**: тестовые окружения не всегда отражают реальность.
|
||
- Используйте [[pg_stat_statements|pg_stat_statements]] для анализа запросов.
|
||
- Анализируйте [[Таблица статистик pg_stats|pg_stats]]: важно понимать, как планировщик БД строит план выполнения запроса.
|
||
- Инструмент pgBadge можно применять с осторожностью, так как он собирает данные из логов, в которые попадают не все запросы.
|
||
- **Примеры запросов с параметрами**: сохраняйте примеры для проверки оптимизаций.
|
||
- **Сбор дополнительной статистики**: при необходимости вручную собирайте более полные данные, так как по умолчанию PostgreSQL использует для анализа только 30k строк, что может давать неточную картину.
|
||
- **Учитывайте блокировку таблицы**: добавление индекса блокирует таблицу, поэтому это нужно учитывать при планировании операций.
|
||
- Используйте [[Профилирование запросов в PostgreSQL|EXPLAIN]]: для анализа статистики распределения данных и проверки эффективности выполнения запросов.
|
||
|
||
**Полезные советы:**
|
||
- [[../Селективность колонки|Селективность колонки]]: чем выше селективность, тем эффективнее работает индекс.
|
||
- **Частичные индексы**: используйте [[../Частичный индекс|частичный индекс]], чтобы уменьшить размер индекса и повысить эффективность.
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../../../meta/zero/00 PostgreSQL|00 PostgreSQL]]
|
||
**Родитель**:: [[Индекс в PostgreSQL|Индекс в PostgreSQL]]
|
||
**Источник**::
|
||
**Создана**:: [[2024-10-21]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
-
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|