Senior
29
Оптималды индекс құру үшін SELECT * FROM employee WHERE sex = 'm' AND salary > 300000 AND age = 20 ORDER BY created_at
Сұралған компаниялар
А7
AI-дан жауап
sobes.tech AI
Для запроса:
SELECT * FROM employee WHERE sex = 'm' AND salary > 300000 AND age = 20 ORDER BY created_at
Оптимальный индекс должен учитывать:
- Фильтрацию по
sexиage— точное равенство. - Диапазон по
salary— условие> 300000. - Сортировку по
created_at.
Рекомендуется составной индекс с колонками в следующем порядке:
CREATE INDEX idx_employee_sex_age_salary_created_at ON employee (sex, age, salary, created_at);
Обоснование:
sexиage— фильтры с точным совпадением, ставим их первыми.salary— диапазонный фильтр, идёт после точных.created_at— для сортировки, включаем в индекс, чтобы избежать дополнительного сортирования.
Такой индекс позволит эффективно использовать фильтры и сортировку, минимизируя количество считываемых строк.