許多客戶都經歷過資料倉儲應用程式的效能問題,所以此處提供一些如何分析及改善 Oracle Analytics 中報表效能的高階指南。在某些情況下,Oracle Analytics 產生的 SQL 查詢會相當複雜而難以進行分析。本主題描述如何分析 Oracle Analytics 所產生的 SQL 查詢,以及如何將可能源自這些 SQL 查詢的效能問題減至最低。
本主題不涵蓋因網路、瀏覽器或報表展示問題所導致的效能問題。
分析 Oracle Analytics 的查詢日誌 (需為日誌層級 3)
如需如何找到此日誌或瞭解其內容的相關資訊,請參閱收集及分析查詢日誌。
分析實體 SQL
SELECT
子句中未包含,而且未套用任何篩選 (真正的篩選,而非結合條件) 的表格。REPORT_AGGREGATE
、count(distinct)...
)、選擇步驟、報表中的子查詢、集合運算子 (UNION
)、總計、小計、多種視觀表等等。分析執行計畫
複查並改進資料模型以減少資料讀取量
例如,如果使用者主要選取本年度、季別或月份的資料,您可以將事實分割成以下兩個表格:當前和存檔。在 Oracle Database上,您還可以使用分割功能。
資料讀取量不僅只取決於每個表格中的資料列數目。表格量也取決於其資料欄的數目與大小。例如,您可以將包含 500 個資料欄的大型表格分割成兩個表格;其中一個表格包含 50 個最常使用的資料欄,另一個表格則包含其餘較不常使用的 450 個資料欄。
Oracle Analytics 中的許多效能問題都源自設計不良,這導致無法產生最佳化的 SQL 查詢。您可以透過修改設計,改善 Oracle Analytics 所產生的 SQL 查詢。這會產生巨大的影響,不只是對報表的效能,對於資料庫中所使用資源的數量也有所影響。