Долго выполняется JOIN

Falc

Новичок
Diesel
Дело в том что твои запросы с RIGHT JOIN и LEFT JOIN не индентичны.
 

_RVK_

Новичок
Дело в том что твои запросы с RIGHT JOIN и LEFT JOIN не индентичны
Я понимаю. Мой первый запрос должен вернуть мне не то что я имел ввиду. Но он верен синтаксически и логически, в таблице есть все необходимые индексы, но он тем не менее завис. Завис потому что Mysql не стала использовать индексы, которые есть в таблице. Я не могу понять такого поведения.
Ну ладно. Все работает,а в следующий раз буду внимательней следить за порядком связывания таблиц.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Diesel
Sad Spirit
Покажи пример когда необходимо использовать RIGHT. Это будет лучшим ответом на вопрос.
Какой ещё вопрос? Я как раз имел в виду, что особой разницы между ними нет.

Иногда удобнее записывать так, иногда --- эдак. И советы использовать обязательно что-то одно вызывают смех.
 

Falc

Новичок
Sad Spirit
Такие советы даю не только я но и разработчики MySQL.

Diesel
Это не мускул не использовал индексы, а ты не дал ему такой возможности.
 

_RVK_

Новичок
а ты не дал ему такой возможности
Где я ему не дал? Я пытаюсь представить себе порядок связывания и прихожу к выводу что индексы вполне можно использовать. Но видимо я чего то не понимаю в самом механизме, поэтому и прошу объяснить.
 

Falc

Новичок
Diesel

RIGHT JOIN catalog_prices ON (catalog_tree.cid=catalog_prices.fk_catalog_tree)

Вторая таблица связывается с третей, с первой же у нее никакой связи нету, какие могут быть индексы?
 

_RVK_

Новичок
Ага, значит порядок таков.
1. с+b
2. (с+b)+a

Так?

Я то думал,что
1. b+a
2. с+(a+b)

Я правильно понял?
 

_RVK_

Новичок
Тю блин, експлаин же показывает таблицы в порядке использования. Теперь мне все понятно! Сенк.
 
Сверху