Az oldal megtekintéséhez kérjük, engedélyezze a JavaScriptet.

sERPa súgó

 

Cardinality Estimate hatás teszt

 

Ha úgy érezzük, hogy SQL szerver magasabb verzióra frissítése után egyes helyeken lassulás tapasztalható, akkor a lenti script sablonnal lehetőség van megvizsgálni, hogy az aktuális compatibility level, és az eggyel előző compatibility level milyen értékeket mutat, valamint az eredmény utolsó során megmutatjuk az eltérést.

Pl. ha a Vevőszámla tétel tervezett költség lekérdezésnél érzékelünk lassulást, akkor a bevitelben a Futásidő (SQL) naplóval megszerezzük a hívást, majd SSMS-ben megvizsgálhatjuk:

 

exec VevoSzBeolvasas @VevoSz_ID=NULL, @VevoSzPar_ID=NULL,  @AdatNyelv_ID = NULL, @ArEngedmenyMeghat_ID=NULL, @datasets=N'VevoSz,VevoSzTetelTervKoltseg'

 

 

--TRUNCATE table temp.exec_stat

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

DBCC FREESYSTEMCACHE('SQL Plans') WITH MARK_IN_USE_FOR_REMOVAL, NO_INFOMSGS --adhoc

 

---Ide kell beilleszteni a vizsgálandó utasítás(oka)t------------------------------------------------------------------------------

 

 

 

--Beillesztés vége------------------------------------------------------------------------------------------------------------------

 

EXEC Temp.SaveExecStat

GO 2 --Kétszer fut le. A SaveExecStat átállítja a LEGACY_CARDINALITY_ESTIMATE-et, ezért második alkalommal ellentétes beállításokkal fut

EXEC Temp.CompareExecStat

--Az oszlopok

--1. objectname             Tárolt eljárás neve. String kolbászolás esetén üres

--2. statement_text         Tárolt eljáráson belül az utasítás

--3. query_hash             Az utasításból képzett hash  

--4. execution_count0       Hányszor futott le az aktuális compatibility level-el

--5. total_elapsed_time0    Mennyi ideig futott az aktuális compatibility level-el

--6. execution_count1       Hányszor futott le az visszaállított compatibility level-el (illik azonosnak lenni a 4. oszloppal)

--7. total_elapsed_time1    Mennyi ideig futott az visszaállított compatibility level-el

--8. diff %                 Az eltérés %-ban a 7. oszlophoz képest

 

--Az utolsó oszlop lényeges +100%-nál nagyobb eltéréssel érdemes elsőre foglalkozni.

--A negatív százalékoknak örülünk, ezt kapjuk a szerver frissítéstől

 

--Ahol nagy az eltérés be kell állítani az alábbi option-t.

--OPTION (USE HINT ('FORCE_LEGACY_CARDINALITY_ESTIMATION'))

 

Grafikus felület sebesség teszt

Ctrl+Alt+S ( Ctrl + Alt + S ) billentyűk megnyomásával a beviteli funkciókban Lekérdező vagy módosító üzemmódban ellenőrizhető a felület sebessége. A mérés során a kliens az SQL-től lekéri a következő rekord adatát, visszakapja és kiírja az adatokat a kliensgépen. [msec/row].