Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке покривний індекс (covering index)?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Покривний індекс (covering index) - це **індекс, що містить усі дані, потрібні для виконання запиту**, тому база може отримати результат **лише з індексу**, не звертаючись до самої таблиці; якщо запит використовує тільки ті стовпці, що вже є в індексі, СУБД бере все прямо з нього, без звернення (lookup) до таблиці. **Ключове:** приклад - індекс за `(customer_id, amount)` повністю покриває запит `SELECT customer_id, amount FROM orders WHERE customer_id = 5`; у деяких СУБД (наприклад, MySQL) можна явно додати додаткові поля до індексу через `INCLUDE(...)`, щоб вони зберігалися в індексі, не беручи участі в сортуванні.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняПокривний індекс (covering index) - це **індекс, який містить усі дані, потрібні для виконання запиту**, тому база може отримати результат **лише з індексу**, не звертаючись до самої таблиці. ### Принцип Зазвичай індекс зберігає ключі + посилання на рядок таблиці. Але якщо запит використовує лише ті стовпці, які вже є в індексі - СУБД може взяти все прямо з індексу, **без «lookup» до таблиці**. Це сильно прискорює `SELECT`. ### Приклад ```sql CREATE INDEX idx_orders_customer_amount ON orders(customer_id, amount); ``` Тепер запит ```sql SELECT customer_id, amount FROM orders WHERE customer_id = 5; ``` працюватиме лише за індексом - він уже «покриває» всі потрібні поля. ### Особливості - Прискорює `SELECT`, бо виключає звернення до таблиці. - Ефективний для часто використовуваних фільтрів і вибірок. - У деяких СУБД (наприклад, MySQL) можна явно додати додаткові поля до індексу: ```sql CREATE INDEX idx_orders_customer ON orders(customer_id) INCLUDE(amount); ``` Тут `amount` не бере участі в сортуванні, але зберігається в індексі, щоб покривати запити. ### Суть **Покривний індекс = «усе потрібне вже всередині індексу»** -> запит виконується швидше, без зайвого читання таблиці.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.