|
| Forskellige joins... Fra : Stig Nørgaard Jepsen |
Dato : 19-01-02 14:00 |
|
Lige nu laver jeg mine alm. joins i WHERE-sætningen:
SELECT * FROM tab1,tab2 WHERE tab1.id = tab2.id
Er det rigtigt at det ikke er den bedste måde at lave sådan en join -
Fordi at alle kombinationsmulighederne af tab1 og tab2 vil blive genereret i
en midlertidig tabel. Og med store eller eller flere tabeller, kan det blive
en ret stor midlertidig tabel?
Der er en anden måde at lave sådan en tilsvarende join på, - er der ikke?
Ville det være en INNER JOIN?
Kan det passe at den vil være hurtigere, da den bygger den midlertidige
tabel, udfra ON-sætningen?
Er der en der kan anbefale en god 'tutorial' på nettet, der forklare
forskellen på de forskellige joins (helst i detaljer)
/Stig
| |
James Olsen (19-01-2002)
| Kommentar Fra : James Olsen |
Dato : 19-01-02 16:26 |
|
Der er ikke, nok der bør ikke være, nogen forskel da den resulterende
queryplan for denne typer syntax er ens. Inner join syntax'en er at
foretrække, da den giver nogle bedre muligheder for at udtrykke join
betingelser end "from-where" syntax'en. Personligt syntes jeg nu også at
inner join synax'en er lettere at læse - men det er jo subjektivt
"Stig Nørgaard Jepsen" <stigen@mail.dk> wrote in message
news:3c496db5$0$89101$edfadb0f@dspool01.news.tele.dk...
> Lige nu laver jeg mine alm. joins i WHERE-sætningen:
> SELECT * FROM tab1,tab2 WHERE tab1.id = tab2.id
>
> Er det rigtigt at det ikke er den bedste måde at lave sådan en join -
> Fordi at alle kombinationsmulighederne af tab1 og tab2 vil blive genereret
i
> en midlertidig tabel. Og med store eller eller flere tabeller, kan det
blive
> en ret stor midlertidig tabel?
>
> Der er en anden måde at lave sådan en tilsvarende join på, - er der ikke?
> Ville det være en INNER JOIN?
> Kan det passe at den vil være hurtigere, da den bygger den midlertidige
> tabel, udfra ON-sætningen?
>
> Er der en der kan anbefale en god 'tutorial' på nettet, der forklare
> forskellen på de forskellige joins (helst i detaljer)
>
>
> /Stig
>
>
>
| |
Peter Henriksen (21-01-2002)
| Kommentar Fra : Peter Henriksen |
Dato : 21-01-02 01:51 |
|
Stig Nørgaard Jepsen wrote:
> Er det rigtigt at det ikke er den bedste måde at lave sådan en join -
Jep.
> Der er en anden måde at lave sådan en tilsvarende join på, - er der ikke?
> Ville det være en INNER JOIN?
Ja, for eksempel...
> Er der en der kan anbefale en god 'tutorial' på nettet, der forklare
> forskellen på de forskellige joins (helst i detaljer)
Prøv for eksempel at kigge på den her :
http://cesspool.crseo.ucsb.edu:8679/FAQ/Joins.html (fundet via google)
Mvh
Peter Henriksen
www.repete.biz
| |
|
|