Тема
|
LEFT JOIN vs RIGHT JOIN
|
|
Автор | jmut (Нерегистриран) |
Публикувано | 26.04.05 14:05 |
|
Някой ще ме просветли ли разликата м/у ляв и десен join каква е. Едното по бързо ли е от другото, кое при кое се ползва примерно и т.н.
Аре без RTFM....Чел съм туй онуй и затова питам за да стане всичко ясно.
Благодаря предварително.
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: jmut]
|
|
Автор |
salle (един такъв) |
Публикувано | 26.04.05 16:06 |
|
Разликата между
a LEFT JOIN b
и
b RIGHT JOIN a
е точно каквато е разликата между
a > b
и
b < a
Едното е огледален образ на другото. Затова е най-добре да си харесаш само единия и да не ползваш и двата. Не за друго а за да не става объркване
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: salle]
|
|
Автор | jmut (Нерегистриран) |
Публикувано | 26.04.05 17:00 |
|
Да разбирам ли че няма разлика в времето за изпълнение на заявката?
Защото при 2 еднакви заявки и условия, времето за изпълнение на right е много по малко(по-бързо е ) от тази с left.
На какво може да се дължи това?
Не дефинирам какво значи много по-бързо, защото зависи от сложността на база и т.н. -> но е видима разликата във времето.
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: jmut]
|
|
Автор |
тoшo (да бе да) |
Публикувано | 27.04.05 00:06 |
|
я ги пусни тея 2 заявки да видим колко са еднакви?
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: тoшo]
|
|
Автор | jmut (Нерегистриран) |
Публикувано | 27.04.05 10:30 |
|
Примерно нещо такова. Забавих защото тези твърдения са от познат и трябваше да изчакам да ми даде заявките.
select t1.*, t2.field12 from table1 t1 left join table2 t2 on(t1.id = t2.parent_id) where t1.sum > 0 and t2.date is not null
select t1.*, t2.field12 from table1 t1 right join table2 t2 on(t1.id = t2.parent_id) where t1.sum > 0 and t2.date is not null
|
|
Тема
|
Re: (a > b) != (a < b) :)
[re: jmut]
|
|
Автор |
salle (един такъв) |
Публикувано | 27.04.05 11:21 |
|
Да не би все пак да трябва да прочетеш още веднъж каква е разликата между двата вида OUTER JOIN?
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: jmut]
|
|
Автор | nasko (Нерегистриран) |
Публикувано | 27.04.05 11:26 |
|
Като казваш:
table1 Някакъв join table2,
има значение коя таблица е отляво и коя отдясно в израза.. оттук идва и проблемът ти;)
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: jmut]
|
|
Автор |
тoшo (да бе да) |
Публикувано | 28.04.05 06:53 |
|
ми не са две еднакви заявки, ама хич. :)
left join e същото като right join, но само ако се разменят местата на таблиците, иначе не е.
може да ти стане по-ясно а може и да те обърка допълнително, но пробвай да сложиш по едно EXPLAIN пред всяка от заявките и разгледай резултата. има там една колонка rows, най-грубо казано, колкото по-големи са числата там, толкова по-бавна е заявката.
п.с. плз не ме почвайте сега за другите причини да е бавно едно или друго, знам че броя редове не е единствения индикатор за проблеми и че е относителен и че трябва да се гледа в комплект с всичко останало и т.н. не знам дали пича е готов за подобна лекция просто, но барем да почне да го пуска чат-пат :)Редактирано от тoшo на 28.04.05 06:57.
|
|
Тема
|
Re: LEFT JOIN vs RIGHT JOIN
[re: тoшo]
|
|
Автор | jmut (Нерегистриран) |
Публикувано | 28.04.05 09:53 |
|
"пича" е готов и ги ползва тези неща :)
Както казах един познат ми спореше на тези тема. И на мен не ми изглеждаха еднакви...питах го изрично няма ли да сменим имената на таблицата защото така няма много смисъл....той каза че си е така. И за да му покажа реших да постна темата.
Благодаря за всички отговори....
|
|
|
би трябвало да са еднакво бързи. Ако не са (и има фрапираща разлика, зависима от броя на записите в двете таблици), е глупаво (като реализация от СБД) - защото всеки LJ може да се сведе до RJ, както и обратно.
Практически - никога не ми е хрумвало да ги сравнявам като бързодействие при различни СБД.
Сега погледнах какво сте си писали по-горе. Ми те не са ви еднакви заявките, бе колега...
Както правилно са ви посочили a>b не е същото като a<b
a>b съответства на b<а
Ама си мислех, че това е очевидно и не е нужно да се обяснява.... А явно не е било така.
When the mountain is high
Just look up to the skyРедактирано от TPECKATA на 15.11.05 21:16.
|
|