Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: btree, brin, range_query, createdat, performance

В таблице с миллионами записей нужно выбрать данные по диапазону createdAt. Какой тип индекса лучше использовать?

Проверяет понимание выбора индекса для диапазонных запросов по датам.

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

Лучше всего подойдёт B‑tree‑индекс по столбцу createdAt, так как он эффективно обрабатывает поиск по диапазону значений, обеспечивая логарифмическое время доступа.

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

B‑tree‑индекс:

  • Оптимизирован для операций BETWEEN, <, >.

  • Автоматически поддерживается в большинстве СУБД как дефолтный.

BRIN‑индекс (в PostgreSQL):

  • Подходит для очень больших таблиц, где createdAt упорядочен физически.

  • Занимает мало места, но менее точен, чем B‑tree.

Выбор:

  • Если записи вставляются в хронологическом порядке и таблица огромная — BRIN.

  • В остальных случаях — B‑tree.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Postgres

    Postgres

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

#btree

#brin

#range_query

#createdat

#performance

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

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.