Что такое хеш-индекс

«Что такое хеш-индекс» — вопрос из категории Базы данных, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Хеш-индекс — это структура данных, которая использует хеш-функцию для быстрого доступа к значениям по ключу. В Golang он часто реализуется через встроенный тип map.

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

  • O(1) в среднем для операций вставки, поиска и удаления.
  • Не гарантирует порядок элементов.
  • Подходит для точных совпадений ключей, но не для диапазонных запросов.

Пример:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 7

value, exists := m["apple"] // 5, true
delete(m, "banana")

Ограничения:

  • При коллизиях (одинаковые хеши для разных ключей) производительность может деградировать до O(n).
  • Не потокобезопасен — для конкурентного доступа нужны мьютексы или sync.Map.