I dette selvstudium lærer du, hvordan du evaluerer en DAX-kodes ydeevne ved at bruge indstillingen Kør benchmark i .
Indstillingen Kør benchmark giver dig mulighed for at tilpasse antallet af kolde og varme cache-udførelser i din forespørgsel.

Når du klikker på denne indstilling, åbnes Benchmark-guiden. Du kan angive det antal gange, du vil køre en forespørgsel i kold cache eller varm cache.

Kold cache betyder, at DAX Studio først vil rydde cachen og derefter køre forespørgslen baseret på det angivne antal. På den anden side betyder varm cache , at DAX Studio ikke rydder cachen, før forespørgslen køres.
Denne vejledning vil bruge koden nedenfor, som genererer CallbackDataID:

Før du bruger indstillingen Kør benchmark, lad os køre koden og se dataene.

Du kan se, at koden tager 134 millisekunder at udføre. Den indeholder også.
Indholdsfortegnelse
Brug af indstillingen Kør benchmark for DAX-kodeydelse
Når du klikker på Kør Benchmark- indstillingen og kører forespørgslen med 5 kolde cache-udførelser, vil du se en statuslinje nederst i Benchmark-guiden. Den rydder cachen og kører derefter koden fem gange.
Bagefter åbnes to faner i resultatruden. Den første fane, Resume , viser en tabel med oplysninger om cachetypen, dens statistik, samlede varighed og SE-varighed.
Ved at sammenligne dataene mellem den kolde cache og den varme cache, kan du se, at rydning af cachen ikke har en væsentlig forskel i forhold til kørselsvarigheden.
Den anden fane, Detaljer , viser mere omfattende information om cachen for DAX-forespørgslen.
Varierende cache-varighed
Lad os køre en anden for at se, hvordan det påvirker forespørgselstimingen.
Du kan se, at det kun tager 13 millisekunder at rydde cachen og udføre koden.
Klik derefter på indstillingen Kør benchmark. Fjern markeringen i feltet og udfør 10 henrettelser for både den kolde og varme cache.

I resultatruden kan du se, at det tager 12,8 millisekunder at køre i kold cache og 3,9 millisekunder at køre i varm cache.

Varigheden kan ikke måles i varm cache, fordi forespørgslerne besvares fra selve datacachen.
På fanen Detaljer kan du se, at der er i alt 20 henrettelser; 10 i koldt og 10 i varmt. Den kolde varighed er altid længere end den varme varighed.

Når du ruller til kolonnen længst til højre, kan du se, at VertiPaq-cachen matcher indeholder 0 for kold cache og 1 for varm cache.
Sammenligning af DAX-kodeydelse ved hjælp af grafer
For at få mere indsigtsfulde data kan du oprette en linjegraf ud af resultaterne fra Benchmark-indstillingen. Du kan lave en sammenligning ved hjælp af intervaller på 10. Det vil sige, at du kører benchmark ved hjælp af 10, 20, 30 og så videre for både den kolde og varme cache. Dette vil hjælpe dig med at forstå, hvor lang tid en forespørgsel tager at udføre baseret på , , og .
Du kan også starte med en lille database og gradvist køre koden til en mere kompleks database. Lav derefter en linjegraf for at se kodens ydeevne.
Dette gør det nemmere at identificere, om varigheden er steget eller faldet i forhold til antallet af rækker i din DAX-forespørgsel.
Konklusion
Det er vigtigt at optimere din DAX-kodes ydeevne. En forskel på 0,5 millisekunder pr. række kode betyder måske ikke meget. Men når du først har at gøre med flere rækker kode, der producerer en million rækker som et resultat, vil disse 0,5 ms gøre en stor forskel.
Ved at bruge indstillingen Kør benchmark kan du indsamle tidsdata for din kode. Du kan bruge dette til at foretage sammenligninger mellem forskellige rækker kode. Du kan også bruge dette til at få meningsfuld indsigt i, hvilken del af din DAX-kode, der skal optimeres.