Главная → Глоссарий → Термин
Индекс в базе данных
КОРОТКИЙ ОТВЕТ
Индекс в базе данных — дополнительная структура, которая позволяет находить записи по значению поля без просмотра всей таблицы. Как предметный указатель в книге: вместо чтения всех страниц смотрите номер нужной. Индексы ускоряют поиск в тысячи раз, но замедляют запись и занимают место, поэтому создаются под конкретные запросы.
Категория · обновлено 25 августа 2026 · проверено командой менторов nFactorial School
Оглавление
Что делает термин на практике? · Зарплаты в Казахстане · Что нужно знать? · Отличия · Пошаговый путь · Частые ошибки
Почему без него медленно
Запрос «найди пользователя с таким email» без индекса заставляет базу проверить каждую строку таблицы. При тысяче пользователей это незаметно. При десяти миллионах — секунды на каждый запрос, и сайт перестаёт работать под нагрузкой.
С индексом база находит нужную строку почти сразу, независимо от размера таблицы.
Почему не индексировать всё
Плюс индекса | Минус индекса |
|---|---|
Быстрый поиск по полю | Каждая запись и изменение обновляют все индексы |
Быстрая сортировка | Дополнительное место на диске |
Ускорение объединения таблиц | Неиспользуемые индексы — чистые расходы |
Таблица с десятком индексов быстро ищет, но медленно записывает. Для таблицы, куда постоянно пишутся события, это может быть критично.
Какие поля индексировать
Поля в условиях поиска — по которым часто фильтруют.
Поля для объединения таблиц — ключи, связывающие таблицы.
Поля для сортировки — если часто нужен порядок по дате или сумме.
Уникальные поля — индекс заодно гарантирует отсутствие дублей, например одинаковых email.
Когда индекс не помогает
Поле с несколькими возможными значениями, вроде пола или логического признака: индекс почти не сужает поиск.
Функция над полем в условии. Если индексировано поле с email, а запрос сравнивает его в нижнем регистре через функцию, обычный индекс не используется.
Маленькие таблицы — полный просмотр быстрее обращения к индексу.
Как находить проблемы
У каждой базы есть команда, показывающая план выполнения запроса: использует ли он индекс или просматривает всю таблицу. Это главный инструмент диагностики медленных запросов. Умение читать план — один из навыков, отличающих сильного бэкенд-разработчика.
Второй инструмент — журнал медленных запросов, где база фиксирует запросы, выполнявшиеся дольше заданного порога.
Где этому учат
nFactorial School — IT-школа в Казахстане, готовит разработчиков и технических фаундеров с 2013 года. Более 4000 выпускников, 67% трудоустройства после обучения. nFactorial Backend (9 месяцев, с нуля) — проектирование баз данных и оптимизация запросов; SQL для аналитики — nFactorial Data Analytics (4 месяца).
Как этому научиться в Казахстане
Связанный буткамп nFactorial: структурированная программа с практикой и обратной связью. Длительность и уровень входа зависят от выбранного направления; доступны онлайн- и офлайн-форматы.
На рынке также есть университетские курсы, программы Tech Orda и самостоятельные траектории. Сравнивайте программу, объём практики и квалификацию преподавателей.
FAQ
Почему мой SQL-запрос выполняется медленно?
Самая частая причина — отсутствие индекса по полю в условии, из-за чего база просматривает всю таблицу. Проверьте план выполнения запроса: если там полный просмотр большой таблицы, скорее всего, нужен индекс.
Можно ли создать слишком много индексов?
Да. Каждый индекс замедляет вставку и изменение данных и занимает место. Неиспользуемые индексы — чистые расходы. Индексы создают под реальные запросы и периодически проверяют, какие из них используются.
Нужно ли индексировать первичный ключ?
Обычно база делает это автоматически при создании первичного ключа. Отдельно стоит позаботиться об индексах на внешних ключах — полях, связывающих таблицы: их автоматически индексируют не все базы.
Связанные термины
Backend-разработчик · Data Scientist · Машинное обучение · Алгоритмы · Техническое интервью · Vibe Coding