TGViewer
SQL Ready | Базы Данных SQL Ready | Базы Данных @sql_ready · 17.5K subscribers
Post #1303 1.85K
Covering Index — как реально ускорить SELECT!

Даже с индексом СУБД может работать медленно — после поиска всё равно нужно обращаться к таблице за данными.

Covering Index — это индекс, который уже содержит все данные, нужные запросу.

Если запрос обращается только к колонкам, включённым в индекс — таблица может не читаться вовсе:
CREATE INDEX idx_orders_status_user
ON orders (status, user_id);


Теперь запрос:
SELECT user_id, status
FROM orders
WHERE status = 'pending';


Выполняется полностью из индекса — минимум I/O, максимум скорости.

В PostgreSQL это видно как Index Only Scan в плане:
EXPLAIN ANALYZE SELECT ...


Работает только если строки помечены all-visible (visibility map). В MySQL аналог — Using index, в SQL Server — INCLUDE в индексе.

🔥 Не забывайте: больше индексов = больше места и медленнее вставки/обновления.

➡️ SQL Ready | #совет
  • ❤ 10
  • 👍 9
  • 🤝 7
  • 🔥 3
More from @sql_ready
  1. Oct 9, 2026❤️ sqlite-postgres-cours — большой практический курс по базам данных! Материал ведёт от пе…
  2. Oct 8, 2026Почему UNIQUE допускает несколько NULL в PostgreSQL! Ограничение UNIQUE гарантирует уникал…
  3. Oct 7, 2026📂 Шпаргалка по паттернам распределённых систем! Например, Replication повышает доступност…
  4. Oct 6, 2026Проверяйте связи с учётом периода! В PostgreSQL 18 связь может учитывать ещё и период его…
  5. Oct 6, 2026👍 Устройство PostgreSQL — подробная документация на русском языке! Материалы посвящены не…
  6. Oct 5, 2026COUNT(*) в PostgreSQL: MVCC, visibility map и стоимость выполнения! В PostgreSQL точный CO…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →