TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.82K subscribers
Post #2309 1.79K
Покрывающие индексы (Covering indexes)
(продолжение предыдущего поста)

Покрывающие индексы — это индексы, которые при грамотном использовании способны значительно повысить производительность системы.

Покрывающий индекс — это такой индекс, который используется для получения всех столбцов результата запроса без необходимости обращения к основному хранилищу данных таблицы. Для Postgres это означает обход файла куч таблицы, а для MySQL — обход кластеризованного индекса данных таблицы.

Рассмотрим пример запроса:

SELECT name, email
FROM user
WHERE name > 'C' AND name < 'G';


Если у нас есть индекс только по имени, например:

CREATE INDEX idx_name
ON your_table (name);


База данных может использовать этот индекс для фильтрации результатов, но ей всё равно придётся обращаться к основному хранилищу данных таблицы для получения электронных адресов.

В качестве альтернативы можно использовать составной индекс:

CREATE INDEX idx_name_email 
ON your_table (name, email);


В этом случае все необходимые для результирующего набора столбцы хранятся прямо в индексе, что делает запрос более быстрым. Однако есть компромисс: такой индекс занимает больше места. Это классический пример компромисса между пространством и временем!
Telegram METANIT.COM Покрывающие индексы и непокрывающие индексы (Covering indexes vs Non-covering indexes) (описание в следующем посте)
  • ❤ 8
  • 👍 4
  • 🔥 3
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
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 →