jokainen asiakas / käyttäjä haluaa aina nopean vastauksen tiedonhakuprosessiinsa. Joten meidän täytyy suunnitella hyvä tietokanta, joka tarjoaa parhaan suorituskyvyn aikana tietojen manipulointi, joka johtaa parhaan suorituskyvyn sovelluksen. Kuitenkin, ei ole suoraviivaista tapaa määritellä paras suorituskyky, mutta voimme valita useita tapoja parantaa SQL kyselyn suorituskykyä,joka kuuluu eri luokkiin, kuten luominen indeksit, käyttö liittyy, ja kirjoittaa subquery käyttää JOIN, jne.
kehittäjänä tiedämme, että mikä tahansa SQL-kysely voidaan kirjoittaa monella tavalla, mutta meidän tulisi noudattaa parhaita käytäntöjä/ tekniikoita saavuttaaksemme paremman kyselyn suorituskyvyn. Nostan esiin joitakin niistä alla:
1. Käytä olemassa sijaan IN tarkistaa tietojen olemassaolo.
2. Vältä * valitse lauseke. Anna sarakkeiden nimi, jota tarvitset.
3. Valitse sopiva tietotyyppi. Esimerkiksi merkkijonojen tallentamiseen käytetään varcharia tekstin tietotyypin sijasta. Käytä tekstitietotyyppiä, kun haluat tallentaa suuria tietoja (yli 8000 merkkiä).
4. Vältä nchar ja nvarchar jos mahdollista, koska molemmat tietotyypit vie vain kaksinkertainen muisti char ja varchar.
5. Vältä Nollaa kiinteän mittaisessa kentässä. Jos vaatimus on NULL, käytä vaihtuvapituista (varchar) kenttää, joka vie vähemmän tilaa NULL: lle.
6. Vältä Lauseke. Lauseke on pakollinen, jos haluat suodattaa aggregaation tuloksen.
7. Luo ryhmiteltyjä ja ei-ryhmiteltyjä indeksejä.
8. Pidä klusteroitu indeksi pieni, koska kentät käytetään klusteroitu indeksi voidaan käyttää myös ei-klusteroitu indeksi.
9. Useimmat selektiiviset sarakkeet olisi sijoitettava vasemmalle ei-ryhmitellyn indeksin avaimeen.
10. Pudota käyttämättömät indeksit.
11. Parempi luoda indeksejä sarakkeisiin, joilla on kokonaislukuarvot merkkien sijaan. Kokonaislukuarvot käyttävät vähemmän yleiskustannuksia kuin merkkiarvot.
12. Käytä liittymiä alikyselyiden sijaan.
13. Käytä missä-lausekkeita rajoittaaksesi liittymillä luotujen tulostaulujen kokoa.
14. Käytä TABLOCKX: ää asetettaessa taulukkoon ja TABLOCK: ia yhdistettäessä.
15. Käytä (NOLOCK) kun kyselet tietoja mistä tahansa taulukosta.
16. Käytä SET NOCOUNT ON ja käytä TRY-CATCH välttää umpikuja kunnossa.
17. Vältä kursoreita, koska kursorit ovat hyvin hitaita suorituskyvyssä.
18. Käytä taulukon muuttuja sijasta Temp taulukon. Temp-taulukoiden käyttö edellytti vuorovaikutusta TempDb-tietokannan kanssa, joka on aikaa vievä tehtävä.
19. Käytä unioni kaikki sijasta unionin, jos mahdollista.
20. Käytä skeeman nimeä ennen SQL-objektien nimeä.
21. Käytä tallennettua menettelyä usein käytettyihin tietoihin ja monimutkaisempiin kyselyihin.
22. Pidä tapahtuma mahdollisimman pienenä, koska tapahtuma lukitsee käsittelytaulukoiden tiedot ja voi johtaa umpikujaan.
23. Vältä etuliitettä ” sp_ ” käyttäjän määrittämän tallennetun menettelyn nimen kanssa, koska SQL server etsii ensin käyttäjän määrittämää menettelyä päätietokannasta ja sen jälkeen nykyisestä istuntotietokannasta.
24. Vältä korreloimattoman skalaarin Alikyselyn käyttöä. Käytä tätä kyselyä erillisenä kyselynä pääkyselyn osan sijaan ja tallenna tuloste muuttujaan, johon voidaan viitata pääkyselyssä tai myöhemmin erän osassa.
25. Vältä Multi-statement Table Valued Functions (TVFs). Multi-statement TVFs ovat kalliimpia kuin inline TVFs.
Onnellista Oppimista!