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

Покрывающие индексы позволяют ускорить выполнение SQL-запросов за счёт исключения обращений к основной таблице, если все нужные данные уже есть в индексе. Они применябтся в базах данных для оптимизации запросов.

#### 1. Сравнение: Без покрывающего индекса vs с покрывающим индексом

Без покрывающего индекса (Without Covering Index):
- Система выполняет запрос, собирает все необходимые столбцы для запроса, но вынуждена обращаться к основной таблице базы данных
- Это менее эффективно, так как требует дополнительных операций чтения данных из таблицы.

С покрывающим индексом (With a Covering Index):
- Аналогичный процесс поиска активных пользователей, но теперь все необходимые столбцы для запроса уже включены в индекс.
- Система не нуждается в обращении к основной таблице, что значительно ускоряет выполнение запроса.
- Данные извлекаются напрямую из индекса, минуя основную таблицу.

#### 2. Пример создания покрывающего индекса (Covering Index)

В нижней правой части показан синтаксис создания покрывающего индекса:
CREATE INDEX IX_Users_Search
ON Users (Status, LastName, FirstName)
INCLUDE (Email);

Разъяснение элементов:
- Index Name (имя индекса): IX_Users_Search — название созданного индекса.
- Key Columns (ключевые столбцы): Status, LastName, FirstName — используются для фильтрации (WHERE) и сортировки (ORDER BY) в запросе.
- Included Column (включённый столбец): Email — добавлен через INCLUDE для того, чтобы избежать обращения к основной таблице при извлечении email-адресов.

#### 3. Пример SQL-запроса (Query)

SELECT
Status, LastName, FirstName, Email
FROM
Users
WHERE
Status = 'Active'
ORDER BY
LastName, FirstName;

Этот запрос выбирает статус, фамилию, имя и email пользователей, у которых статус равен «Active», и сортирует результаты по фамилии и имени.
Telegram METANIT.COM Covering indexes (Покрывающие индексы) (описание в следующем посте)
  • ❤ 5
  • ✍ 5
  • 🤝 2
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 →