Многие ставят индексы “на всё подряд”, а потом удивляются, почему БД тормозит.
❌ Типичные ошибки:
- Индекс на колонке, которая почти всегда уникальна (например,
id с PK — он уже индексирован).- Индекс на поле с низкой селективностью (
is_active = true/false) — толку ноль, только замедляет вставки.- Создание 5+ индексов на таблицу без анализа запросов.
✅ Best practices:
- Делайте индекс под конкретный частый запрос.
- Для
WHERE field LIKE 'abc%' — используйте btree.- Для поиска по JSONB → GIN индекс.
- Для геоданных → GiST.
- Для частого условия — partial index:
CREATE INDEX idx_orders_active
ON orders(status)
WHERE status = 'active';
⚡️ Помните: каждый индекс ускоряет SELECT, но замедляет INSERT/UPDATE/DELETE.
👉 Итог: индекс — это инструмент, а не магическая таблетка. Всегда проверяйте план выполнения (
EXPLAIN ANALYZE).Сохрани, чтобы не забыть 🚀
📲 Мы в MAX
#db
👉 @database_info
