Встречается на 33% собеседований по Go

Что такое индекс в БД

Индекс в БД — это структура данных, ускоряющая поиск и сортировку по определенным столбцам. Он работает как указатель на данные, уменьшая количество операций чтения (I/O).

Пример создания индекса в SQL:

sql
CREATE INDEX idx_user_email ON users(email);

Особенности:

  • Ускоряет SELECT, WHERE, JOIN, ORDER BY.
  • Замедляет INSERT, UPDATE, DELETE (требуется обновление индекса).
  • Использует B-деревья (чаще всего) или хеш-таблицы.

Golang-пример (псевдокод):

go
// Без индекса: O(n) поиск
for _, user := range users {
    if user.Email == target { ... }
}

// С индексом: O(log n) поиск (если B-дерево)
found := index.Search(target)

Важно: Индексы занимают память, их избыток вредит производительности.

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы