在 DAX Studio 中評估 DAX 代碼性能

在本教程中,您將學習如何使用DAX Studio中的運行基準選項評估 DAX 代碼的性能。

Run Benchmark 選項允許您自定義查詢中冷緩存和熱緩存執行的次數。

在 DAX Studio 中評估 DAX 代碼性能

單擊此選項時,基準嚮導將打開。您可以指定要在冷緩存或熱緩存中運行查詢的次數。

在 DAX Studio 中評估 DAX 代碼性能

冷緩存是指DAX Studio會先清空緩存,再根據指定的數量進行查詢。另一方面,熱緩存意味著 DAX Studio 不會在運行查詢之前清除緩存。

本教程將使用下面生成 CallbackDataID 的代碼:

在 DAX Studio 中評估 DAX 代碼性能

在使用運行基準選項之前,讓我們執行代碼並查看服務器計時數據。

在 DAX Studio 中評估 DAX 代碼性能

您可以看到代碼執行需要 134 毫秒。它還包含CallbackDataID

目錄

為 DAX 代碼性能使用運行基準選項

當您單擊Run Benchmark選項並使用 5 次冷緩存執行來運行查詢時,您將在 Benchmark 嚮導的底部看到一個進度條。它清除緩存,然後運行代碼五次。

之後,兩個選項卡將在“結果”窗格中打開。第一個選項卡Summary顯示了一個表格,其中包含有關緩存類型、其統計信息、總持續時間和 SE 持續時間的信息。

比較冷緩存和溫緩存的數據,可以看到清除緩存對運行時長沒有顯著差異。

第二個選項卡Details顯示有關 DAX 查詢緩存的更全面的信息。

改變緩存持續時間

讓我們運行不同的DAX 代碼,看看它如何影響查詢計時。

可以看到清除緩存和執行代碼只需要13毫秒。

接下來,單擊“運行基準測試”選項。取消選中該框並為冷緩存和暖緩存執行 10 次執行。

在 DAX Studio 中評估 DAX 代碼性能

在結果窗格中,您可以看到在冷緩存中運行需要 12.8 毫秒,在溫緩存中運行需要 3.9 毫秒。

在 DAX Studio 中評估 DAX 代碼性能

存儲引擎持續時間在暖緩存中無法測量,因為查詢是從數據緩存本身回答的。

在 Details 選項卡中,您可以看到總共執行了 20 次;寒冷時 10 度,溫暖時 10 度。寒冷的持續時間總是大於溫暖的持續時間。

在 DAX Studio 中評估 DAX 代碼性能

滾動到最右側的列,您可以看到 VertiPaq 緩存匹配包含 0 表示冷緩存,1 表示暖緩存。

使用圖形比較 DAX 代碼性能

要獲得更有洞察力的數據,您可以根據基準選項的結果創建折線圖。您可以使用 10 的間隔創建比較。也就是說,您使用 10、20、30 等對冷緩存和暖緩存運行基準測試。、和執行查詢需要多少時間。

您也可以從一個小型數據庫開始,逐漸運行更複雜數據庫的代碼。然後創建一個折線圖來查看代碼的性能。

這樣可以更輕鬆地確定持續時間相對於 DAX 查詢中的行數是增加還是減少。

結論

優化 DAX 代碼的性能很重要。每行代碼相差 0.5 毫秒可能意義不大。但是一旦你處理多行代碼,結果產生一百萬行,這 0.5 毫秒就會產生很大的不同。

使用“運行基準測試”選項可以讓您收集代碼的時間數據。您可以使用它來比較不同的代碼行。您還可以使用它來獲得關於 DAX 代碼的哪一部分需要優化的有意義的見解。

Leave a Comment

在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。