> Как индекс определяет, какую запись отдать при поиске по таблице (Go)

Уровень: senior · Роль: backend · Язык: Go · Категория: Технические вопросы

Компании: Wildberries

Стек: Go

> Пример ответа

Индекс в базе данных - это структура (например, B-дерево или хеш-таблица), которая хранит отсортированные копии значений одного или нескольких столбцов вместе с указателями на соответствующие строки таблицы. При поиске по индексированному столбцу СУБД не сканирует всю таблицу последовательно, а обращается к индексу: находит в нём нужное значение (например, через бинарный поиск в B-дереве) и получает физический адрес строки (ROWID или первичный ключ). Затем по этому адресу извлекается запись напрямую, минуя полный перебор. В Go, при работе с реляционными базами (через драйверы вроде database/sql), этот процесс полностью скрыт от разработчика - вы лишь пишете запрос, а СУБД сама решает, использовать индекс или нет, анализируя план выполнения (EXPLAIN).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью