25 tipp az SQL lekérdezés teljesítményének javításához

minden ügyfél/ felhasználó mindig gyors választ akar az adatok visszakeresési folyamatára. Tehát meg kell terveznünk egy jó adatbázist, amely a legjobb teljesítményt nyújtja az adatok manipulálása során, ami az alkalmazás legjobb teljesítményét eredményezi. A legjobb teljesítmény meghatározására azonban nincs egyszerű módszer, de többféle módot választhatunk az SQL lekérdezés teljesítményének javítására, amely különböző kategóriákba tartozik, például indexek létrehozása, illesztések használata, és egy alkérdés átírása a JOIN használatához stb.

fejlesztőként tudjuk, hogy bármilyen SQL lekérdezés többféle módon írható, de a legjobb gyakorlatokat/ technikákat kell követnünk a jobb lekérdezési teljesítmény elérése érdekében. Néhányat kiemelek az alábbiakban:

1. Az adatok meglétének ellenőrzéséhez használja az In helyett az EXISTS lehetőséget.
2. Elkerül * a SELECT utasításban. Adja meg a kívánt oszlopok nevét.
3. Válassza ki a megfelelő adattípust. Például a karakterláncok tárolásához használja a varchar-t a szöveges adattípus helyett. Használjon szöveges adattípust, amikor nagy adatokat (több mint 8000 karaktert) kell tárolnia.
4. Kerülje az nchar – t és az nvarchar-t, ha lehetséges, mivel mindkét adattípus csak kettős memóriát vesz igénybe, mint a char és a varchar.
5. Kerülje NULL rögzített hosszúságú területen. NULL követelmény esetén használjon változó hosszúságú (varchar) mezőt, amely kevesebb helyet foglal el a NULL számára.
6. Kerülje A Záradékot. A záradék megléte akkor szükséges, ha tovább szeretné szűrni az összesítések eredményét.
7. Fürtözött és nem fürtözött indexek létrehozása.
8. Tartsa fürtözött index kicsi, mivel a mezők használt fürtözött index is használható nem fürtözött index.
9. A legtöbb szelektív oszlopot balra kell helyezni egy nem fürtözött index kulcsában.
10. Dobja el a fel nem használt indexeket.
11. Jobb indexeket létrehozni olyan oszlopokon, amelyek karakterek helyett egész értékeket tartalmaznak. Az egész értékek kevesebb rezsi értéket használnak, mint a karakterértékek.
12. Használja csatlakozik helyett al-lekérdezések.
13. A Where kifejezésekkel korlátozhatja az illesztésekkel létrehozott eredménytáblák méretét.
14. Használja a TABLOCKX-ot, miközben beilleszt egy táblázatba, a TABLOCK pedig összevonás közben.
15. Használja a (NOLOCK), miközben lekérdezi az adatokat bármely táblából.
16. Használja a set NOCOUNT ON-t, majd a try – CATCH-et, hogy elkerülje a holtpontot.
17. Kerülje a kurzorokat, mivel a kurzor teljesítménye nagyon lassú.
18. Használja táblázat változó helyett Temp táblázat. Használata Temp táblák szükséges kölcsönhatás TempDb adatbázis, amely egy időigényes feladat.
19. Ha lehetséges, használja az összes Uniót az Unió helyett.
20. Használja a séma nevét az SQL objektumok neve előtt.
21. Használja a tárolt eljárást a gyakran használt adatokhoz és az összetettebb lekérdezésekhez.
22. Tartsa a tranzakciót a lehető legkisebbre, mivel a tranzakció lezárja a feldolgozási táblázatok adatait, és holtpontokba kerülhet.
23. Kerülje az “sp_” előtagot a felhasználó által megadott tárolt eljárás nevével, mert az SQL server először a felhasználó által meghatározott eljárást keresi a fő adatbázisban, majd azt követően az aktuális munkamenet-adatbázisban.
24. Kerülje a nem korrelált skalár Al lekérdezés használatát. Használja ezt a lekérdezést külön lekérdezésként a fő lekérdezés része helyett, és tárolja a kimenetet egy változóban, amelyre hivatkozhat a fő lekérdezésben vagy a köteg későbbi részében.
25. Kerülje a több utasításból álló tábla értékű függvények (TVFs) használatát. A többnyilatkozatú TVF-ek költségesebbek, mint az inline TVF-ek.

Boldog Tanulást!

Write a Comment

Az e-mail-címet nem tesszük közzé.