Ez az oktatóanyag az adatgyorsítótárak megvalósítását tárgyalja a DAX Studio alkalmazásban. Ez a bejegyzés megmutatja, hogyan befolyásolja ez a számítást, miközben eredményeket generál a lekérdezéssel. Megtudhatja, melyik megvalósítás a jobb a DAX teljesítményének maximalizálása érdekében.
A materializációnak két elképzelése van: a korai materializáció és a késői materializáció .
Tartalomjegyzék
Korai materializáció
Korai materializációról akkor beszélünk, amikor a materializált sorok száma nagyobb, mint a kimenethez szükséges sorok száma.
Ha a kimenet egy naptári év szerinti táblázat, és öt évnyi adattal rendelkezik, akkor felesleges sok materializált sort bevinni. A legjobb gyakorlat az, ha a materializált sorok száma megegyezik a szükséges sorok számával. Ez azonban nem mindig van így, mert ez a feladat összetettségétől függés adatbeállítás.
Mindig ne feledje, hogy az adatok oszlopokból állnak. Tehát amikor a képletmotornak egy táblázaton kell működnie, az oszlopok visszakerülnek egy táblázatformátumba, ami a materializáció. A korai materializációs ötletben a tárolómotor adatgyorsítótárat küld a képletmotornak. A képletmotor ezután ezen a gyorsítótáron dolgozik, és összetett folyamatokat hajt végre.
A korai megvalósulást az összetett illesztések vagy a sok a sokhoz kapcsolat okozhatja az adatmodellekben. Az összetett szűrők vagy iterátorok is okozhatják.
Nem baj, ha összetett intézkedések vannak; csak helyesen kell beállítania őket, hogy a lehető legjobban kihasználja a tárolómotort.
Késői materializáció
Késői materializációról van szó, amikor a materializált sorok száma megegyezik a kimenethez szükséges sorok számával, vagy ahhoz közel van.
A tárolómotor szinte minden munkát elvégz, nem hagy semmit a formulamotornak. Ez felgyorsítja az egész számítást.
Ezek a korai és késői materializációra vonatkozó példalekérdezések:

Mielőtt futtatná ezeket a lekérdezéseket, ürítse ki a gyorsítótárat. Ezáltal a lekérdezések a hideg gyorsítótár ellen futnak. Ha a DAX-ot a gyorsítótár törlése nélkül futtatja, a következő eredményt kapja:
![Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban]()
A teljes végrehajtási idő mindössze 1861 ezredmásodperc, mert már használt gyorsítótárat. Ezért mindig törölje a gyorsítótárat a lekérdezések futtatása előtt.
Ha futtatja a korai materializációs lekérdezést, láthatja, hogy a teljes időtartam 9485 ezredmásodperc. Egy adatgyorsítótárat és egysoros kimenetet hozott létre, de 25 millió sort adott vissza.
![Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban]()
Nem kell 25 millió sort megvalósítania az egysoros eredmény eléréséhez, mert ez időt vesz igénybe, és lelassítja a DAX teljesítményét.
Ha futtatja a Késői megvalósulás lekérdezést, láthatja, hogy a teljes számítás csak 1340 ezredmásodpercet vett igénybe. Ezenkívül 2 adatgyorsítótárat generált, amelyek mindegyike 5003 sort ad vissza.
![Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban]()
Ha megnézi a Fizikai lekérdezési tervet, 5000 sort láthat. Nincs egyenlő számú soruk. A Kiszolgálóidőzítések eredménye néha kissé eltér a lekérdezési tervben szereplő sorok pontos számától.
![Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban]()
Így attól kezdve, hogy egyetlen 25 millió soros adatgyorsítótáron dolgozik, két adatgyorsítótárral rendelkezik 5003 sorral. Ez az oka annak, hogy a későbbi materializációval való munka gyorsabb eredményeket ér el, mint a korai materializáció.
Az egyes materializációs lekérdezéseken belül
Ha csak ránézünk a lekérdezésre, máris láthatjuk, hogy a későbbi materializáció gyorsabb. Az Early Materialization lekérdezés egy összesített táblázat sorait számolja meg.
![Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban Materializációs ötletek adatgyorsítótárak számára a DAX Studio-ban]()
Az összefoglalt és megvalósult táblázat nagyobb, mint aaz asztalon , amit a Késői materializáció lekérdezés csinál.
Ha a lekérdezés lassú, kezdje azzal, hogy megnézi, hány sort von be a lekérdezés, és hányra van szükség a kimenethez. A logikai lekérdezési tervet is megnyithatja, és követheti a számításon belüli munkafolyamatot.
Következtetés
A materializáció akkor következik be, amikor a lekérdezések oszlopokat vagy sorokat vonnak ki az adatmodellből. Ez a folyamat természetesen történik, amikor a motor adatokat kap az adatmodellből, hogy eredményeket biztosítson a lekérdezéshez.
Problémák léphetnek fel azonban, ha a DAX túl sok sort húz, mint amennyi az eredményhez szükséges. Ez a probléma úgy oldható meg, hogy leegyszerűsíti a DAX-ot meghatározott folyamatok végrehajtására.