Почему поиск с индексом быстрее и насколько? Сравни поиск без индекса, с B-tree индексом и с hash-индексом.

Без подходящего индекса поиск часто просматривает O(n) строк; B-tree сужает поиск за O(log n), Hash обычно ищет равенство с ожидаемой O(1) стоимостью. Но ускорение в секундах нельзя вывести только из этих оценок.

Короткий ответ

Что ответить на собеседовании

Без подходящего индекса поиск часто просматривает O(n) строк; B-tree сужает поиск за O(log n), Hash обычно ищет равенство с ожидаемой O(1) стоимостью. Но ускорение в секундах нельзя вывести только из этих оценок.

Подробный разбор

Ответ с пояснениями

Без подходящего индекса поиск часто просматривает O(n) строк; B-tree сужает поиск за O(log n), Hash обычно ищет равенство с ожидаемой O(1) стоимостью. Но ускорение в секундах нельзя вывести только из этих оценок.

Нужно учесть число найденных строк k, чтение страниц таблицы, кеш, коллизии и стоимость сравнения. Индекс не избавляет от обработки всего результата, а для большой доли таблицы последовательное чтение может оказаться дешевле. B-tree также поддерживает диапазоны и порядок, Hash существенно уже по операциям. Сравнивайте EXPLAIN и фактическое время на характерных данных. Нельзя обещать «в тысячу раз быстрее» без измерений и описания запроса.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее