> Как индекс определяет, какую запись отдать при поиске по таблице (Go)
Уровень: senior · Роль: backend · Язык: Go · Категория: Технические вопросы
Компании: Wildberries
Стек: Go
> Пример ответа
Индекс в базе данных - это структура (например, B-дерево или хеш-таблица), которая хранит отсортированные копии значений одного или нескольких столбцов вместе с указателями на соответствующие строки таблицы. При поиске по индексированному столбцу СУБД не сканирует всю таблицу последовательно, а обращается к индексу: находит в нём нужное значение (например, через бинарный поиск в B-дереве) и получает физический адрес строки (ROWID или первичный ключ). Затем по этому адресу извлекается запись напрямую, минуя полный перебор. В Go, при работе с реляционными базами (через драйверы вроде database/sql), этот процесс полностью скрыт от разработчика - вы лишь пишете запрос, а СУБД сама решает, использовать индекс или нет, анализируя план выполнения (EXPLAIN).
> Похожие задачи по Go
Как избежать гонок и рейсов в базе данных
Сколько букв нужно для поиска в индексе
Как работает полнотекстовый индекс GIN в PostgreSQL
Почему в некоторых случаях используется сбалансированное дерево вместо хэш-таблицы
> Похожие задачи по backend
Как избежать гонок и рейсов в базе данных
Сколько букв нужно для поиска в индексе
Как работает полнотекстовый индекс GIN в PostgreSQL
Почему в некоторых случаях используется сбалансированное дерево вместо хэш-таблицы
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью