Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: index, column, optimization

Важен ли порядок колонок в индексах? Почему?

Этот вопрос проверяет понимание важности порядка столбцов в составных индексах.

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

Да, порядок колонок в индексах важен, потому что составные индексы работают слева направо. Индекс может быть использован для запросов, которые включают префикс указанных столбцов (например, индекс на (A, B) может быть использован для запроса по A, но не для запроса только по B). Правильный порядок повышает эффективность индекса.

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

Составные индексы (composite indexes) создаются на несколько столбцов, и порядок этих столбцов определяет, для каких запросов индекс может быть использован.

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

  • Индекс (A, B, C) может быть использован для:

    • Запросов с условием на A

    • Запросов с условием на A и B

    • Запросов с условием на A, B и C

  • Но не для запросов только по B или только по C.

Пример:

CREATE INDEX idx_name ON users (last_name, first_name);

-- Использует индекс: условие на префикс (last_name)
SELECT * FROM users WHERE last_name = 'Smith';

-- Не использует индекс: нет условия на last_name
SELECT * FROM users WHERE first_name = 'John';

Рекомендации:

  1. Располагайте столбцы в порядке убывания selectivity (более selective first).

  2. Учитывайте частые запросы и их условия.

  • Аватар

    Golang Guru

    Maxim Lukyanov

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Postgres

    Postgres

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

#index

#column

#optimization

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

  • Аватар

    Golang Guru

    Maxim Lukyanov

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