Der er mange ting at overveje, hvis man skal lave et komplekst query – eller bare et query på store tabeller. Lad os se på nogle forslag til, hvad der kan optimere på, hvis query’et er langsomt.
Jeg forventer løbende at opdatere denne liste, efterhånden som jeg drager erfaring med flere metoder.
- Husk at lave kommentarer i dit query’et, så du og andre hurtigt kan se, hvad det gør.
- Brug ikke
SELECT *
. Der er ingen grund til at lede i flere kolonner, end du har brug for. - Indskrænk dine søgninger mest muligt ved at bruge nogle velovervejede betingelser (f.eks. i din
WHERE
-sætning). Undgå at lave søgninger på tabeller under af have taget stilling til, hvilke begrænsninger, du kan sætte. - Rækkefølgen på betingelserne i din
WHERE
-sætning gør teoretisk set ingen forskel. - Undgå så vidt muligt at bruge funktioner i
WHERE
og iJOIN
. - Hvis du bruger mange
JOIN
s, kan du med fordel lave nogle afJOIN
‘ene i en midlertidig tabel, som du til sidstJOIN
‘er til hovedtabellen. - Hvis du bruger en
OR
i dit query, kan det være en idé at lave 2 queries i stedet og sætte dem sammen medUNION
. - Vælger du at gemme dit query som en stored procedure, vil søgningen også gå lidt hurtigere, da query’et så er blevet compilet på forhånd.
Skriv et svar