Skip to main content

Як індекс прискорює пошук даних?

Індекс прискорює пошук, бо база не переглядає всі рядки підряд, а шукає потрібні дані за структурою, схожою на дерево (найчастіше B-tree).

Принцип

  • Без індексу база йде порядково - повний перебір (full scan).
  • З індексом вона йде за відсортованими ключами, швидко знаходячи потрібне місце - як у словнику за першою літерою.

Приклад

Таблиця users з мільйоном рядків. Запит:

sql
SELECT * FROM users WHERE email = 'test@mail.com';

Без індексу - потрібно перевірити всі 1 000 000 рядків. З індексом - база проходить деревом пошуку, робить логарифмічну кількість кроків, наприклад ~20 замість мільйона.

Тобто індекс дає прямий швидкий шлях до потрібних рядків, не змушуючи базу читати всю таблицю.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.