2016-10-03 53 views
0

我有一個具有4-5個過濾器的Universe查詢,使用Webi胖客戶端需要將近5分鐘的時間才能運行。當我複製SQL代碼並從SQL管理工作室(SSMS)運行它時,需要10秒。我只創建了數據查詢,沒有任何報告或變量。當我使用Webi HTML運行查詢時,它也在10秒內運行。Webi富客戶端4.1數據刷新速度慢,但SQL代碼速度很快

SSMS和Webi都返回110,000行。如果我在約20秒後停止Webi查詢,它只返回5000行,所以它沒有完成,然後掛斷。

如果我替換使用相同的SQL代碼的存儲過程(FHSQL)的Webi Universe查詢,它需要80秒。有查詢過濾器。如果沒有Where子句,SMSS需要65秒返回99萬行

    Filtered All_Records 
    # of Rows:  110,000  990,000 
    -------------------------------------------- 
    SQL (SSMS): 10 sec  65 sec 
    Webi HTML:  10 sec 
    Stored Proc: 80 sec 
    Rich client: 270 sec 

就在富客戶端是緩慢的,但遠遠超過預期。

+1

你絕對肯定,所有行的SSMS中檢索?你提取了多少行?另外,查看Universe參數,例如'Array Fetch Size'和'Array Bind Size',這些參數在配置不當時會對性能產生負面影響。嘗試監視數據庫並檢查WRS是否正在使用這5分鐘來檢索數據或者是否正在執行其他操作。使用E2E跟蹤來了解幕後發生的情況。 –

回答

1

這主要是因爲未調整的數組提取大小和數組綁定大小。 (您可以在宇宙參數中找到它們)。最簡單的方法是:

  1. 確定2-3個報告,其中檢索相當多的行。
  2. 記錄他們的執行時間(可能你可以使用調度)。
  3. 遞增參數主要是陣列提取大小,以50爲步長
  4. 再次檢查執行時間。
  5. 根據性能增益/損耗對參數進行微調。
相關問題