反饋已提交
網絡繁忙
使用者在使用 FineReport 的時候,會出現一個頁面載入好久才能正常展示的情況,影響使用者體驗,本文總結了7個典型問題以及提高頁面載入速度的建議。
本節內容:
Excel 頁面匯入中增加了元件。
資料集建立時使用 【select *】。
資料庫不建立索引或索引不合理。
過多使用"過濾"操作。
重複使用條件屬性。
同一個頁面元件數量太多。
過度依賴FineReport來處理資料。
管理員登入決策平臺,進入【管理】 → 【智慧運維】 → 【平臺日誌】。
將日誌級別改為【INFO】,點選【儲存】。
匯入Excel時,如果模板中加了元件,會因為載入元件的耗時長而導致匯入過程緩慢。
設定Excel匯入功能。
儲存格不設定元件。
填報預覽,匯入excel檔案。
查看日誌,花費的時間為14ms。
設定儲存格元件。
填報預覽,匯入相同的excel檔案。
查看日誌,花費的時間延長為34ms。
加了元件之後,匯入excel的花費時間相對較長,如果報表複雜、元件多,那麼時間會更多。
如果添加了元件,使用者可以在匯入Excel之後對資料進行修改,從而保證資料準確再填報入庫。
要根據使用場景決定最優方案。
一般來說,使用【select *】會對執行效率產生 20-30% 的影響。
使用資料庫查詢建立資料集時,儘量只取自己所需要使用的欄位,避免對資料列較多的表格使用【select *】。
透過資料庫查詢建立資料集時,如果資料表中建立了索引,相對於不建立索引的表格,查詢速度可以極大提高。
在建立資料集時,就透過SQL把所需要過濾的內容用 where 條件過濾資料,而不是在取數後進行過濾,報表的執行效率會極大提高。
用where條件在sql裡完成資料過濾。
預覽,查看日誌,花費時間為5ms。
在資料集查詢中刪去WHERE語句。
設定過濾條件:SEX 等於 Male。
預覽,查看日誌,花費時間增至10ms。
一些條件屬性允許作用於整合或整列,在一個儲存格新增就好,不需要為每個儲存格單獨設定條件屬性,這樣可以避免同樣的條件被多次運算執行。
設定條件屬性:文字變紅色,作用於整列。
只設置一個儲存格。
預覽。
查看日誌,花費時間13ms。
設定條件屬性:文字變紅色,作用於儲存格。
每個儲存格都設定同樣的條件屬性。
查看日誌,花費時間25ms。
載入元件會拖慢報表的執行速度。在設計報表的時候,儘量減少元件數量,實在需要多元件的,也可以考慮不直接顯示元件。
新增文字元件。
設定WEB屬性,選擇【填報預覽】,不勾選【直接顯示元件】。
填報預覽。
查看日志,花费时间7ms。
勾选【直接顯示元件】。
查看日誌,花費時間22ms。
使用FineReport來處理資料的確輕鬆便捷,但是如果把各種計算、過濾等等操作都交給FineReport的時候,會發現效率遠遠低於在資料庫執行這些操作。這是因為進行大量的資料處理會佔用設計器記憶體,而主流資料庫內建了最佳化演算法,可以對資料進行高效計算。
所以把前期的資料處理工作都交給資料庫來做,讓FineReport做自身更具優勢的處理,報表的執行效率會顯著提高。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉