25 sfaturi pentru îmbunătățirea performanței interogării SQL

fiecare client/ utilizator dorește întotdeauna un răspuns rapid la procesul de recuperare a datelor. Deci, trebuie să proiectăm o bază de date bună care să ofere cea mai bună performanță în timpul manipulării datelor, ceea ce duce la cea mai bună performanță a unei aplicații. Cu toate acestea, nu există o modalitate simplă de a defini cea mai bună performanță, dar putem alege mai multe modalități de îmbunătățire a performanței interogării SQL, care se încadrează în diferite categorii, cum ar fi crearea de indexuri, utilizarea alăturărilor și rescrierea unei Subinterogări pentru a utiliza alăturarea etc.

ca dezvoltator, știm că orice interogare SQL poate fi scrisă în mai multe moduri, dar ar trebui să urmăm cele mai bune practici/ tehnici pentru a obține o performanță mai bună a interogării. Subliniez câteva dintre ele mai jos:

1. Utilizarea există în loc de ÎN pentru a verifica existența datelor.
2. Evitați * în instrucțiunea SELECT. Dați numele coloanelor de care aveți nevoie.
3. Alegeți tipul de date adecvat. De exemplu, pentru a stoca șiruri utilizați varchar în locul tipului de date text. Utilizați tipul de date text, ori de câte ori aveți nevoie pentru a stoca date mari (mai mult de 8000 de caractere).
4. Evitați nchar și nvarchar dacă este posibil, deoarece ambele tipuri de date are doar memorie dublă ca char și varchar.
5. Evitați NULL în câmpul de lungime fixă. În cazul cerinței de NULL, utilizați câmpul de lungime variabilă (varchar) care necesită mai puțin spațiu pentru NULL.
6. Evitați Să Aveți Clauză. Având clauza este necesară dacă doriți în continuare pentru a filtra rezultatul unei agregări.
7. Creați indexuri grupate și non-grupate.
8. Păstrați index grupate mici, deoarece câmpurile utilizate în index grupate pot, de asemenea, utilizate în index non-grupate.
9. Cele mai multe coloane selective ar trebui să fie plasate cel mai la stânga în cheia unui index non-grupate.
10. Aruncați indicii neutilizați.
11. Mai bine să creați indici pe coloane care au valori întregi în loc de caractere. Valorile întregi folosesc mai puțin aeriene decât valorile caracterelor.
12. Utilizați se alătură în loc de sub-interogări.
13. Utilizați unde expresii pentru a limita dimensiunea tabelelor de rezultate care sunt create cu se alătură.
14. Utilizați TABLOCKX în timp ce introduceți într-o masă și TABLOCK în timp ce fuzionează.
15. Utilizați cu (NOLOCK) în timp ce interogarea datelor din orice tabel.
16. Utilizați Set NOCOUNT pe și de a folosi TRY – CATCH pentru a evita starea impas.
17. Evitați cursoare, deoarece cursorul sunt foarte lent în performanță.
18. Utilizați variabila tabelului în locul tabelului Temp. Utilizarea tabelelor Temp necesită interacțiunea cu baza de date TempDb, care este o sarcină de timp.
19. Utilizați Uniunea toate în locul Uniunii, dacă este posibil.
20. Utilizați numele schemei înainte de numele obiectelor SQL.
21. Utilizați procedura stocată pentru datele utilizate frecvent și interogări mai complexe.
22. Păstrați tranzacția cât mai mică posibil, deoarece tranzacția blochează datele din tabelele de procesare și poate duce la blocaje.
23. Evitați prefixul ” sp_ ” cu numele procedurii stocate definit de utilizator, deoarece SQL server caută mai întâi procedura definită de utilizator în baza de date master și după aceea în baza de date a sesiunii curente.
24. Evitați utilizarea sub-interogării scalare necorelate. Utilizați această interogare ca o interogare separată în loc de o parte a interogării principale și stocați ieșirea într-o variabilă, care poate fi menționată în interogarea principală sau o parte ulterioară a lotului.
25. Evitați funcțiile evaluate în tabelul cu mai multe declarații (TVFs). Multi-declarație TVFs sunt mai costisitoare decât TVFs inline.

Învățare Fericită!

Write a Comment

Adresa ta de email nu va fi publicată.