25 tips For Å Forbedre YTELSEN FOR SQL-Spørring

Hver Kunde/ Bruker vil alltid ha et raskt svar på deres datainnhentingsprosess. Så vi trenger å designe en god database som gir best ytelse under datamanipulering som resulterer i den beste ytelsen til et program. Det er imidlertid ingen enkel måte å definere den beste ytelsen, men vi kan velge flere måter å forbedre SQL-spørringsytelsen, som faller under ulike kategorier som opprettelse Av Indekser, bruk av sammenføyninger og omskrive en delquery for å bruke JOIN, etc.

som utvikler vet vi AT NOEN SQL-spørring kan skrives på flere måter, men vi bør følge beste praksis/ teknikker for å oppnå bedre spørringsytelse. Jeg fremhever noen av dem nedenfor:

1. Bruk EKSISTERER i stedet FOR å sjekke eksistensen av data.
2. Unngå * I SELECT-setningen. Gi navnet på kolonnene du trenger.
3. Velg Riktig Datatype. For å lagre strenger, bruk varchar i stedet for tekstdatatype. Bruk tekstdatatype, når du trenger å lagre store data (mer enn 8000 tegn).
4. Unngå nchar og nvarchar hvis mulig siden begge datatypene tar bare dobbelt minne som char og varchar.
5. Unngå NULL i felt med fast lengde. Ved KRAV OM NULL, bruk variabel lengde (varchar) felt som tar mindre plass TIL NULL.
6. Unngå Å Ha Klausul. Å ha klausul er nødvendig hvis du videre ønsker å filtrere resultatet av en aggregeringer.
7. Lag Grupperte Og Ikke-Grupperte Indekser.
8. Hold gruppert indeks liten siden feltene som brukes i gruppert indeks kan også brukes i ikke-gruppert indeks.
9. De fleste selektive kolonner bør plasseres lengst til venstre i nøkkelen til en ikke-gruppert indeks.
10. Slipp ubrukte Indekser.
11. Bedre å lage indekser på kolonner som har heltallverdier i stedet for tegn. Heltallverdier bruker mindre overhead enn tegnverdier.
12. Bruk koblinger i stedet for underspørringer.
13. Bruk WHERE-uttrykk TIL å begrense størrelsen på resultattabeller som opprettes med koblinger.
14. BRUK TABLOCKX mens du setter inn i et bord og TABLOCK mens du slår sammen.
15. Bruk MED (NOLOCK) mens du spør dataene fra et bord.
16. Bruk SETT NOCOUNT PÅ og bruk TRY-CATCH for å unngå vranglås tilstand.
17. Unngå Pekere siden markøren er veldig treg i ytelse.
18. Bruk Tabellvariabel i stedet For Temp-tabellen. Bruk Av Temp tabeller kreves interaksjon Med TempDb database som er en tid tar oppgave.
19. Bruk UNION ALLE I STEDET FOR UNION hvis mulig.
20. Bruk Skjemanavn før SQL-objekter navn.
21. Bruk Lagret Prosedyre for ofte brukte data og mer komplekse spørringer.
22. Holde transaksjonen så liten som mulig siden transaksjonen låse behandling tabeller data og kan føre til vranglåser.
23. Unngå prefiks » sp_ » med brukerdefinert lagret prosedyrenavn fordi SQL server først søke i brukerdefinert prosedyre i hoveddatabasen og etter at i gjeldende øktdatabase.
24. Unngå bruk Av Ikke-korrelert Skalar Sub Spørring. Bruk denne spørringen som en separat spørring i stedet for en del av hovedspørringen, og lagre utdataene i en variabel, som kan henvises til i hovedspørringen eller senere del av partiet.
25. Unngå Multi-statement Tabell Verdsatt Funksjoner (TVFs). Multi-statement TVFs er dyrere enn inline TVFs.

Glad Læring!

Write a Comment

Din e-postadresse vil ikke bli publisert.