Базы данных / SQL middle
Почему B-tree, а не Hash?
Ответ
Hash: O(1) только =. B-tree: O(log n) но поддерживает <, >, BETWEEN, ORDER BY, LIKE 'abc%'. Поэтому B-tree — default.
Разбор: Hash-индекс даёт O(1) на точном равенстве, но не упорядочивает данные, поэтому бесполезен для диапазонов и сортировки. B-tree даёт O(log n), зато поддерживает <, >, BETWEEN, ORDER BY и префиксный LIKE 'abc%', поэтому он индекс по умолчанию. Дистракторы либо приписывают B-tree сложность O(1), либо ошибочно утверждают, что Hash тоже умеет диапазоны или ограничен типами ключей.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.