Рубріки: HighloadТеория

Что такое составной индекс?

Игорь Грегорченко

Составной индекс – это индекс, построенный по нескольким колонкам. Такие индексы имеет смысл использовать, когда в одном запросе фигурируют более одной колонки. Mysql поддерживает составные индексы для любых типов таблиц.

1. Фильтрация по нескольким колонкам

SELECT * FROM table WHERE date = '2020-10-10' AND name = 'Den'

Наиболее эффективный индекс будет таким:

CREATE INDEX date_name ON table(date, name)

2. Фильтрация и сортировка

SELECT * FROM table WHERE name = 'Den' ORDER BY date

Наиболее эффективный индекс будет таким:

CREATE INDEX date_name ON table(name, date)

# Первой должна идти колонка, по которой фильтруем

Количество колонок в индексе может быть любое:

SELECT * FROM table
     WHERE date = '2020-10-10' AND type = 2 AND name = 'Den'
     ORDER BY amount DESC
CREATE INDEX date_name ON table(date, type, name, amount)

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023