Det beror vist mest på erfaring ... jeg ved ikke hvornår kurven
"knækker" for MySQL men som tommelfinger-regel kan du regne med, at en
enkelt forespørgsel med joins altid er bedre end mange separate
forespørgsler.
Ved den samlede forespørgsel laver databaseserveren i praksis selv flere
forespørgsler, men ved at samle det slipper man for arbejdet med flere
adskilte resultatsæt og åbne cursors, lige som serveren selv kan
udarbejde sin optimeringsplan for udførelsen.
Joins på opslagstabeller koster så godt som ingenting, så dem skal du
aldrig være nervøs for. Det er ikke antallet af joins i sig selv, som er
"det farlige". Det er snarere deres inbyrdes forhold, og udformningen af
dine indexer i basen.
Undgå (hvis muligt) at lave lange serier af indlejrede joins af typen
LEFT OUTER og RIGHT OUTER. Den slags kan trække tænder ud ...
Venligst
- Jesper
Frowning Freezer wrote:
> Hejsa
>
> Jeg laver database-drevne website systemer i PHP og MySQL og idet jeg
> er i øjeblikket er igang med et stort projekt er hastighed gået hen og
> blevet en større og større faktor. Derfor er jeg interesseret i at
> vide hvilke principper jeg skal gå ud fra for at lave de mest optimale
> queries i MySQL - altså f.eks. hvornår er det bedst at bruge joins
> frem for at lave flere opslag? Og hvor mange joins vil det være
> "sundt" at lave i en query.
>
> Findes der ikke nogle gode artikler et sted som kan give mig nogle
> gode generelle retningslinier, så jeg ikke selv behøver sidde og teste
> mig frem hele tiden?
>
> Jeg ville blive kanonglad for enten gode råd eller bare links til
> sådanne artikler.
>