Задать вопрос
@ragnar_ok

Нужно ли использовать составной индекс?

Таблица company_settings содержит 200 тысяч строк, а таблица companies - 10 строк. Добавил индекс по LOCATION_ID. В EXPLAIN видно, что вместо чтения всех 200 тысяч строк теперь читает только 4 (которые соответствуют LOCATION_ID = 1). Добавил составной индекс по LOCATION_ID и COMPANY_ID. Также читает 4 строки. При этом в EXTRA "Using filesort" в обоих случаях.

Нужно ли использовать составной индекс в этом случае или достаточно индекса по LOCATION_ID?

MySQL 5.7.35-38

SELECT 'ID', 'COMPANY_ID'
FROM company_settings
INNER JOIN companies ON company_settings.COMPANY_ID = companies.ID
WHERE LOCATION_ID = 1
ORDER BY companies.IS_EXIST DESC;
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы