1. 概述
1.1 版本
版本 | 功能變動 |
---|---|
6.1.4 | - |
1.2 應用場景
對大數據進行明細過濾時,可能由於當前的資料儲存與讀取方式,致使系統處理負擔重,出現效能問題,如查詢緩慢等。此時 IT 人員(管理者)可啟動 「排序加速查詢」 功能,為資料集合理設定排序鍵,優化儲存結構,讓資料過濾時讀取更高效,加快查詢速度,優化整體效能。
例如,資料量龐大的 「產品銷售明細」 表,常需過濾帳號「數量」,將其設為排序欄位即可提速。如下圖所示:
1.3 功能簡介
排序加速查詢有以下規則:
最多支援新增100個資料集;
可排序的資料集需要同時滿足以下條件:欄數<200;非增量更新資料集;非最簡表。建議抽取列數>1kw,且<10億;
排序欄在頁面進行配置並儲存後,將在下一次表更新時生效;
確定新增排序欄後,會增加表的更新時長;
2. 瞭解排序加速原理
2.1 為什麼排序可以提升查詢速度
在資料庫(包括 FineBI)中,資料以塊(block)為單位儲存,每個塊都有編號,資料分散於不同塊中。當進行查詢篩選時,如果資料未排序,計算機就得在所有塊中搜尋符合條件的資料。
然而,若資料按一定規則排序,其分佈就會變得有序。
舉個簡單的例子,把資料庫比作書架,資料比作書,每個格子比作一個塊。假設要找 80 年代的生物書籍,如果書沒排序,那麼我們每個格子都要翻找,找書的工作量大且速度慢;而若先按類型和出版年份對書進行排序,我們可以直接到對應的格子中找到需要的書籍,大大提升了尋找效率。
2.2 如何選擇排序欄位
如果需要經常按照某個欄位進行資料過濾,那麼這個欄位就適合作為排序欄位。比如經常需要查詢男性員工的資料,那麼性別(sex)欄位就可以作為排序欄位;如果經常查詢特定年齡範圍的員工,年齡(age)欄位就可以作為排序欄位。
3. 操作步驟
例如,有業務使用者反饋,在對「經營分析_開店閉店情況」進行篩選時,篩選查詢速度很慢。IT 人員調研後,發現業務使用者的主要場景是經常需要篩選查看不同城市不同品牌的開店閉店情況,所以可以將「城市、品牌」欄位作為排序欄位。
1)使用管理者帳號登入 FineBI ,進入「管理系統>智慧維運>加速引擎」,並點選「排序查詢加速」,如下圖所示:
2)點選「新增排序欄」,找到「品類經營分析」,如下圖所示:
排序加速查詢功能支援對「使用者的分析」「公共資料」「我的分析」的表進行排序設定。
3)新增表後,選擇該表的「銷售日期、商品類型」欄位作為排序欄位。如下圖所示:
4)回到資料表所在位置,更新資料表,查詢加速即可生效。