Composite Index: какую колонку поставить первой? Коллеги, всем привет! Этот вопрос волнует и Junior-, и Middle-, и даже Senior-разработчиков: как правильно выбрать порядок колонок в составном индексе? Казалось бы, простой вопрос: есть таблица, есть запрос с условиями по нескольким колонкам — создаём составной индекс. Но в каком порядке расположить колонки? Ответ не так очевиден, как кажется, и зависит от нескольких факторов. Что такое селективность? Селективность колонки — это отношение уникальных значений к общему количеству строк. Чем выше селективность, тем меньше строк возвращается при фильтрации по этой колонке. Примеры: 🔹 Высокая селективность: ID сотрудника, email, номер паспорта (почти все значения уникальны) 🔹 Низкая селективность: пол (M/F), статус (Y/N), тип документа (5-10 значений) Традиционная рекомендация — ставить первой колонку с наибольшей селективностью. Логика проста: Oracle быстрее отфильтрует большую часть строк. Пример: -- Таблица сотрудников CREATE INDEX