sql >> Database teknologi >  >> RDS >> Database

Sådan fremskyndes SQL-forespørgsler

Det er vigtigt at fremskynde SQL-forespørgsler for at sikre, at dine hjemmesider og applikationer fungerer hurtigt og leverer en god kundeoplevelse. Her er nogle tips til at fremskynde databaseforespørgsler og forbedre forespørgselsydeevnen.


Sådan fremskynder du SQL-forespørgsler

Her er nogle vigtige måder at forbedre SQL-forespørgselshastigheden og -ydelsen på.


1. Brug kolonnenavne i stedet for SELECT *

Mens du bruger SELECT-sætninger, skal du kun bruge de kolonner, du har brug for i dit resultat, i stedet for at bruge SELECT * fra … Dette vil reducere resultatstørrelsen betragteligt og fremskynde din SQL-forespørgsel.

Bonus Læs:Sådan øger du maks. forbindelser i MySQL

2. Undgå indlejrede forespørgsler og visninger

Når du indlejrer en forespørgsel/visning i en anden forespørgsel/visning, resulterer det i mange dataretur for hver enkelt forespørgsel og sænker din forespørgsel betydeligt. Nogle gange kan databaseserveren endda time-out og ikke returnere noget.


3. Brug IN-prædikatet, mens du forespørger på indekserede kolonner

Mens du forespørger i en indekseret kolonne, skal du bruge et IN-listeprædikat i stedet for at bruge matematiske operatorer såsom '=' eller logiske operatorer såsom AND/OR. IN-prædikatet kan fremskynde dine SQL-forespørgsler, da forespørgselsoptimeringsværktøjet sorterer IN-listen for at matche sorteringssekvensen af ​​INDEX, hvilket fører til hurtigere resultater.

Bonus Læs:Sådan gemmer du UTF8-tegn i MySQL

4. Foretag præ-iscenesættelse

Hvis du har forespørgsler og procedurer, der gør joins med store tabeller, er det tilrådeligt at oprette en separat tabel med dette resultat. Når du forbinder tabeller i forvejen, fungerer de SQL-forespørgsler, der bruger deres resultat, meget hurtigere.


5. Brug temp-tabeller

På samme måde, hvis du forbinder en stor tabel med en lille, skal du oprette en midlertidig tabel, der kun indeholder data, der kræves for at forbinde med den mindre tabel. Du kan gøre dette ved at vælge data fra en stor tabel, overføre dem til en midlertidig tabel og forbinde den lille tabel med denne midlertidige tabel.

Bonuslæser:PostgreSQL materialiseret visning

6. Brug CASE i stedet for OPDATERING

UPDATE-sætning tager længere tid end CASE-sætning på grund af logning. På den anden side bestemmer CASE-sætningen, hvad der skal opdateres, og gør dine SQL-forespørgsler hurtigere.


7. Undgå at bruge GUID

Undgå at bruge globalt unikke identifikatorer, da de kan bremse dine forespørgsler. Brug i stedet DATE eller IDENTITY.

Bonus Læs:Sådan ændres database til UTF8

8. Undgå at bruge OR i JOINS

JOINS er tidskrævende, da din database skal undersøge hver række for et match. Hvis du også bruger OR-betingelse i en JOIN, vil din database tage dobbelt så lang tid at matche poster. Som tidligere nævnt, brug IN-operatoren i stedet.


Forhåbentlig vil ovenstående tip hjælpe dig med at fremskynde SQL-forespørgsler.

  1. SSIS - værdien kan ikke konverteres på grund af et potentielt tab af data

  2. Find ud af, om værdien er nummer i MySQL

  3. Hvordan @@MAX_CONNECTIONS virker i SQL Server

  4. Hvordan tilføjer man offset i en udvalgt forespørgsel i Oracle 11g?