ragnar_ok
@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;
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы