![]() |
|
Модераторы: skyboy |
![]()
|
|
| danisimo |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.9.2010 Где: Донецк Репутация: нет Всего: нет |
Привет всем. Странную вещь заметил в explain
Вот запрос
вот результат
То есть когда выполняется left join dillers, mysql проходится по всем 908 записям в таблице dillers, вместо того, чтобы воспользоваться индексом. Причем на каждый номер в условии where будет просмотрено 908 записей. Если номеров будет 100, то это лишние 90800 просмотров, что в итоге очень сказывается на производительности. Всё это, из-за того, что в условии on стоит 2 условия - id_dill=id_dop_diller or id_dill=diller_id . Если поставить просто id_dill=id_dop_diller или id_dill=diller_id то все хорошо, в колонке rows будет стоять 1, и ключ будет выбран, как и должно быть. Странно еще что в possible_keys вроде есть ключи, но почему-то он не выбирает ни один из них. left join dillers use index (PRIMARY) так же не помогает. Если кто-то сможет что-либо подсказать, буду благодарен. |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
расставьте ВЕЗДЕ алиасы.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| danisimo |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.9.2010 Где: Донецк Репутация: нет Всего: нет |
расставил
|
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
И пожалуйста, цитируя SQL=фрагменты, используйте тег SQL-кода, а не цитаты.
Добавлено через 1 минуту и 45 секунд Если хотите использовать индекс (OR в условии однозначно не позволит, и не пытайтесь) - разделите запрос на два, каждый со своим условием, и union их. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |