|
|
LeftJoin a rychlost
|
29.6.2005 15:55
gudnet
|
Pokud spojuji dvě tabulky dotazem se spojovací podmínkou v WHERE, dotaz běží rychle. Pokud použiji LeftJoin pro zobrazení i prázdných vazeb v druhé tabulce je výsledek dotazu neskonale pomalejší. Např.
SELECT a.id as x,b.id as y ... FROM xx as a LEFT JOIN yy as b ON a.id=b.id ...
Jak lépe napsat tento dotaz, aby byl rychlejší? |
|
|
jaa
|
5.4.2011 12:07
jja a jj
|
1) Zobrazte název výrobku, prodané množství, a datum prodeje. Pro výrobce který má v názvu Kunín.
SELECT `výrobky`.`název`, `prodej`.`počet kusů`, `prodej`.`datum`
FROM `prodej`, `výrobky`, `výrobci`
where `prodej`.`Číslo výrobku`=`výrobky`.`id_výrobku` and `výrobky`.`id_výrobce`= `výrobci`.`id_výrobce` and `výrobci`.`název` like "%Kunín%"
2) Zobrazte název firmy (firem) jejích výrobky se prodali 18. 2. 2000.
SELECT `odberatele`.`Název`, `prodej`.`datum`
FROM `odberatele` natural join `prodej`
where`datum`="2000-02-18"
group by `odberatele`.`Název`
3) Zobrazte název odběratele, který utratil nejméně.
SELECT `odberatele`.`Název`,sum( `prodej`.`počet kusů`* `výrobky`.`cena`)as "cena"
FROM `odberatele`natural join `prodej` join `výrobky` on `Číslo výrobku`=`id_výrobku`
group by `odberatele`.`Název`
order by "cena"
limit 1
1) Zobrazte název výrobku, prodané množství, a datum prodeje. Pro výrobce který má v názvu Kunín.
SELECT `výrobky`.`název`, `prodej`.`počet kusů`, `prodej`.`datum`, `výrobci`.`název`
FROM `výrobci` JOIN `výrobky` ON `výrobky`.`id_výrobce`= `výrobci`.`id_výrobce` JOIN `prodej` ON `prodej`.`Číslo výrobku`=`výrobky`.`id_výrobku`
WHERE `výrobci`.`název` LIKE "%Kunín%"
2) Zobrazte název firmy (firem) jejích výrobky se prodali 18. 2. 2000.
SELECT `výrobci`.`název`
FROM `výrobci` JOIN `výrobky` ON `výrobky`.`id_výrobce`= `výrobci`.`id_výrobce` JOIN `prodej` ON `prodej`.`Číslo výrobku`=`výrobky`.`id_výrobku`
WHERE `prodej`.`datum`='2000-02-18' |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|