Индекс базы данных — это отдельная структура данных, которая хранит отсортированную ссылку на строки таблицы. Она работает похоже на индекс в книге — позволяет движку базы данных быстро найти данные без сканирования каждой страницы.
Без индекса база данных выполняет полное сканирование таблицы, читая каждую строку последовательно, чтобы найти подходящие записи. По мере роста таблицы это становится всё медленнее.
С индексом база данных может:
Например, запрос с фильтром по индексированному столбцу:
SELECT * FROM orders WHERE customer_id = 101;
Использует индекс для мгновенного поиска подходящих строк, вместо того чтобы сканировать всю таблицу orders.
Индексы не бесплатны. Они улучшают производительность чтения, но добавляют накладные расходы на операции записи (INSERT, UPDATE, DELETE), так как индекс нужно обновлять вместе с таблицей.
Индексировать стоит те столбцы, которые:
WHEREJOINORDER BY или GROUP BYИндекс базы данных хранит отсортированную ссылку на строки таблицы, позволяя движку запросов находить данные без выполнения полного сканирования всех строк в таблице.
Новый — ещё не проверен сообществом
Вы