混合模式立方體最佳化

使用混合模式的最有效方式:

  • 避免在混合模式中使用二次計算。請改用解決順序

  • 在可行的情況下,將非層級 0 已儲存成員轉換成動態計算成員。

  • 如果轉換成動態計算成員會影響相依公式的解決順序,您就需要將大綱的維度順序與先前批次計算順序及二次計算設定值的解決順序調整成一致。

    混合模式立方體的預設解決順序與區塊儲存立方體的計算順序類似,但提供一些增強功能。如果您要使用非預設解決順序,可以對維度和成員設定自訂解決順序。

  • 以錯誤解決順序處理的動態計算公式可能導致查詢執行太多公式,進而降低效能。可以的話,動態計算稀疏公式的解決順序應高於以階層方式聚總的稀疏維度。

    在某些應用程式中,這並不可行,因為需要以不同的解決順序才能取得正確的公式結果。例如,含有單位與價格的應用程式需要在稀疏聚總之前先執行銷售值,才能於上層取得正確的銷售值。

  • 您可能需要調整維度的密集或稀疏組態 (僅適用於無法使用混合引擎的區塊儲存引擎使用)。

  • 如果可能,請將區塊大小縮減至最小。

Essbase 管理員可使用下列工具以混合模式監督及最佳化查詢效能:

  • 若要限制任何單一查詢可使用的記憶體,請使用 MAXFORMULACACHESIZE 組態設定。

  • 您的立方體若含有使用跨維度運算子及多個 IF/ELSE 敘述句的複雜成員公式,效能問題可能與公式執行有關。如果懷疑是這種情況,您可以啟用自下而上的查詢作業以進行公式計算。這會藉由識別計算所需的交集來最佳化查詢時間,讓查詢時間和輸入資料大小成正比。

    若要為版本 21C 進行查詢最佳化,請使用 QUERYBOTTOMUP 組態設定,以及 @QUERYBOTTOMUP 計算函數。針對版本 19C,請搭配 BOTTOMUP 語法使用 IGNORECONSTANTS 組態設定,以及 @NONEMPTYTUPLE 計算函數。

  • 使用查詢追蹤功能監督並對查詢效能進行除錯。依使用案例的不同,有多個應用程式層級組態設定值可供使用。對您認為可能有問題的單一查詢使用 QUERYTRACE 進行短期除錯。對同時執行的查詢使用 TRACE_REPORT 進行統計資料收集 (適用於在開發環境中進行除錯)。在生產環境中使用 LONGQUERYTIMETHRESHOLD 以將執行時間超過設定時間之任何查詢的統計資料列印在應用程式日誌檔。