反饋已提交

網絡繁忙

大數據量範本優化思路

1. 概述

大數據量範本優化方法請參見:

2. 具體解決方案

注:範本檢測助手 可以發現可能導致範本效能出現問題的地方,提醒給使用者並提供建議修改方案。

問題痛點應用場景
解決方案備註
減少格子數及格子數相同下的優化行列調優欄轉列1)產品邏輯:格子數相同情況下,列越多,計算越慢
2)大數據情況下一個 sheet 100 行,比兩個 sheet 每個 50 行要慢
3)欄轉列更多的是提供一種減少方向,儘可能減少列多的用法,運用到實際場景中可能有:減少交叉範本使用,專注使用行式明細範本
減少行列、格子數1)透過取數限制減少行,如mysql 中 limit 100(如果有求和且需要保持全量可以用sql函式)

2)減少展示的列數

特例:遇到縱向列為id,橫向行為時間的設計,資料源本來就1W行,最終格子數確是 1W(列數)*40(日期數),其中格子實際使用數不到3%,大片都是空白格
格子內計算-公式存在層次座標、sql類函式減少層次座標、SQL 類函式(sql,value,map、select)在擴展行的使用SQL 類函式在即時取數時每一個行都會獨立執行一遍sql、填報校驗時同理
範本存在大量被公式呼叫的圖片

儲存格把資料轉圖片的方法的優先使用順序:html>webimage>toimage>儲存格圖片

-
格子內計算-元件元件數量、使用可以簡化的場景減少元件使用,如純匯入範本,不配置元件經測試發現,匯入一個 200 行 10 列的 Excel,增加元件的範本需要 100 秒左右才可以完成頁面載入,去掉元件的範本只需要 10 秒左右
元件資料字典優化元件資料字典儘量用資料集並開啟快取,儘可能不要直接用資料查詢-
元件預設值優化

1)簡化或者去掉元件預設值

2)元件預設值,工具欄,載入事件中儘量不要用儲存格如=A1

3)下拉樹元件設定全選或聯動時、不用sql函式,把sql函式的語句放在資料集裏面,然後預設值裏把sql函式的部分換成value

元件裏的參數預設值也是在初始化時計算的,不是在點選的時候才計算,如果按鈕元件裏大量呼叫sql函式,並且計算時間較久,也會對範本載入時間產生影響

參數面板元件預設值同樣引發效能問題

客戶允許不開啟直接顯示元件不開啟直接顯示元件當一個頁面的元件數量超過 100 個,就會拖慢頁面展現速度,超過 500 就很容易造成逾時
格子內計算-元件相關js計算按鈕元件裏的參數預設值過久修改js按鈕元件元件裏的參數預設值也是在初始化時計算的,不是在點選的時候才計算,如果按鈕元件裏大量呼叫sql函式,並且計算時間較久,也會對範本載入時間產生影響
條件屬性中使用sql函式做元件聯動不要在條件中使用sql函式寫sql語句,優化下sql的取數時間或者換用其他方式實現-
新計算引擎下拉樹載入慢資料量不多的情況下,可以換成多個元件聯動實現需求-
下拉框元件聯動勾選允許元件直接編輯和允許自訂值不勾選的話會讀元件預設值,如果客戶的元件預設值是寫的資料集裏的欄位,且這個資料集也是有參數的,就會導致sql一直重讀
格子內計算-父子格笛卡爾積防止填報笛卡爾積
提交入庫時如果重複提交了很多資料(不只重複一次),很可能是儲存格的父子格設定導致成為笛卡爾積的形式提交了,所以需要檢查父子格設定
範本擴展行支援使用統一左父格所有格子儘量使用同一個父格、而不是依次繼承-
過濾配置推薦同一行不同格子設定過濾的時候,儘量只對第一個格子設定過濾-
列表、分組的選擇大數據量的明細範本,列表展示比分組快-
格子內計算-其他條件屬性實現隱藏行列、行變色1)使用條件屬性的時候,如果對單個儲存格設定條件屬性就能滿足需求的情況下,就只對一個格子設定條件屬性,不要對每個格子設定,例如隔行顯示背景色,配合為整行生效。

2)如果可以直接隱藏行列,則不用條件屬性隱藏

-



附件列表


主題: 效能優化
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙