Skip to content
Anton GoncharovAI systems developer

1 minute readКак это устроеноRussian only

Индекс в базе данных: оглавление для миллионов строк

Индекс в базе данных: оглавление для миллионов строк

Индекс — это отдельная структура, которая помогает базе находить нужные данные без просмотра всей таблицы.

Представьте шкаф с тысячами папок. Без порядка вы перебираете каждую, пока не найдёте договор. Индекс — это карточный каталог: фамилия → номер полки → папка.

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

На практике это видно не в коде запроса, а в его поведении: таблица выросла — и привычный экран внезапно стал загружаться несколько секунд. Обычно проблема не в Python и не в сети, а в том, что база вынуждена читать слишком много.

Но индекс не бывает бесплатным. Он занимает место и обновляется при каждой вставке, изменении или удалении записи. Если навесить индексы на всё «на всякий случай», запись данных начнёт тормозить.

Мой ориентир простой: индексируют не поля, а реальные способы поиска. Сначала смотрю, какие запросы действительно выполняет продукт. Потом выбираю индекс под них.

Discuss in the channel