Hangyál Zoltán Principal Engineer LogMeIn Kis hazugság, nagy hazugság, statisztika, avagy hogyan működik a Query Optimizer? Hangyál Zoltán Principal Engineer LogMeIn
Sponsors
”Ugyanaz” a lekérdezés, eltérő query plan 3 | 1/2/2019 | Footer Goes Here
Végrehajtási terv előállítása Parsing Binding Simplification Trivial plan Statistics Loading Join reordering Full optimization (3 szakasz) Execution plan 4 | 1/2/2019 | Footer Goes Here
Mi függ a statisztikától Becsült sorok száma Fizikai operátorok Hash bucketek száma Outer tábla Szükséges memória Feleslegesen sok memóriát foglal le, vagy Túl kevés memóriát foglal ezért futás közben meg kell állni további memóriát kérni 5 | 1/2/2019 | Footer Goes Here
Mit tudhatunk a statisztikákról Index vagy oszlop statisztika DBCC SHOW_STATISTICS STAT_HEADER DENSITY_VECTOR HISTOGRAM 6 | 1/2/2019 | Footer Goes Here
Pillanatfelvétel A statisztika készítésének ideje a STAT_HEADER-ben az Updated oszlop A statisztika pontossága (DENSITY_VECTOR és HISTOGRAM) függ a mintavétel pontosságától Nincs állandóbb dolog a változásnál 7 | 1/2/2019 | Footer Goes Here
Adatbázis opciók Main Text / Bullets Here, Gray, 30 pt. Bullet Points, Line 2, 26 pt. Bullet Points, Line 3, 22 pt. Bullet Points, Line 4, 20 pt. 8 | 1/2/2019 | Footer Goes Here
Recompilation threshold Állandó tábla n <= 500, RT = 500 n > 500, RT = 500 + n*0.2 Ideiglenes tábla (#) n < 6, RT = 6 6 <= n <= 500, RT = 500 Tábla változó (@) nincs RT 9 | 1/2/2019 | Footer Goes Here
Karbantartás szükséges UPDATE STATISTICS (oszlop statisztika is) ALTER INDEX .. REBUILD (csak index statisztika, fullscan) sp_updatestats (rowmodctr alapján) Maintenance Plan (túl buta) https://ola.hallengren.com/ 10 | 1/2/2019 | Footer Goes Here
Tipikus problémák Nincs statisztika (tábla változó, multiline függvény) Nincs adat a statisztikában (folyamatosan növekvő azonosító) Elavult statisztika (túl sok adatmódosítás az előző frissítés óta) Egyenlőtlen az adatok eloszlása (nagy táblák esetén) Rossz mintavétel Paraméter sniffing Mi rontjuk el (select *, függvény a WHERE-ben) 11 | 1/2/2019 | Footer Goes Here
Sponsors