Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Postgres: b-tree, binary search, index

Почему поиск в B-tree работает быстрее полного перебора данных?

Проверяет понимание того, как устроен B-tree и почему он эффективен для поиска.

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

Потому что B-tree отсеивает ненужные данные, двигаясь по дереву, а не проверяя каждую строку таблицы.

 

Длинный ответ

  • Полный перебор:
    Читает каждую строку таблицы — O(n).

  • B-tree:
    Имеет сбалансированную древовидную структуру. Позволяет искать за O(log n).

Как работает:

  • Сначала ищется нужный узел в корне.

  • Затем переход к дочернему узлу.

  • И так до нужного значения или диапазона.

Когда особенно выгодно:

  • При больших таблицах.

  • При частых фильтрациях по ключам (id, email, created_at).

Уровень

  • Рейтинг:

    1

  • Сложность:

    8

Навыки

  • Postgres

    Postgres

Ключевые слова

#b-tree

#binary search

#index

Подпишись на Python Developer в телеграм