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.

  1. Husk at lave kommentarer i dit query’et, så du og andre hurtigt kan se, hvad det gør.
  2. Brug ikke SELECT *. Der er ingen grund til at lede i flere kolonner, end du har brug for.
  3. 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.
  4. Rækkefølgen på betingelserne i din WHERE-sætning gør teoretisk set ingen forskel.
  5. Undgå så vidt muligt at bruge funktioner i WHERE og i JOIN.
  6. Hvis du bruger mange JOINs, kan du med fordel lave nogle af JOIN‘ene i en midlertidig tabel, som du til sidst JOIN‘er til hovedtabellen.
  7. 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 med UNION.
  8. 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.