跳至主要内容

工作表索引


一、什麼是索引

尋找章節的最快方法是透過章節目錄。這是因為在目錄中,每一章的標題和對應的頁碼都是有順序的,所以我們只需先在目錄中找到標題和頁碼,就可以快速找到目標。這是索引的常見範例。

同樣,在工作表中,您可以根據某些排序規則為一個欄位或欄位組合創建儲存結構。基於此排序結構查詢一列資料時,可以快速定位到對應的資料,加快查找速度。這是索引。

二、如何創建索引

1. 表單設定 → 搜尋加速

在工作表編輯頁面,選擇【表單設定】> 【搜尋加速】。

2. 創建索引

3. 選擇索引欄位

4. 選擇索引類型

  • 唯一索引 如果選中,則索引中欄位的組合內容不能重複。例如,創建名稱和創建日期兩個欄位作為索引,這兩個欄位的組合不能重複。這樣,一個使用者每天只能創建一筆資料。

5. 注意事項

  • 每個工作表最多只能創建 5 個索引。
  • 每個工作表只能創建一個文字索引或全文欄位索引;創建文字索引時,不能包含多重選取欄位;每個索引只能包含一個多重選取欄位。
  • 創建唯一索引後,欄位值不能重複。如果不需要該欄位,則工作表中只能有一個空欄位,以保證資料的唯一性。
  • 所有文字欄位都支援全文檢索。一旦為工作表創建了文字索引,您就無法再創建該類型的另一個索引。

三、基本操作

1. 編輯索引

您可以重新設計索引。

  • 新增或刪除與索引相關的欄位
  • 調整欄位的排序
  • 修改索引名稱
    • 對於系統預設創建的index_rowid索引,名稱不能修改。

2. 刪除索引

四、常見問題解答

1. 如何使用索引來加快檢索速度?

為工作表創建索引就像為字典創建可按字母順序搜尋的目錄一樣。創建合適的索引可以加快特定查詢條件下資料的檢索速度。在創建索引之前,需要了解創建索引的一些基本原理。

2. 哪些工作表需要索引?

如果工作表中的資料量比較大(通常是幾萬、幾十萬甚至更多),並且在查詢工作表時已經存在明顯的載入延遲,那麼就需要創建索引來嘗試加快檢索速度。

3. 創建索引時如何選擇索引欄位?

僅需為在視圖、篩選器、快速篩選器中擷取或在視圖、子表單或關聯資料中排序的欄位創建索引。選擇索引欄位時,請記住,資料中的重複值越少,該欄位就越適合創建索引。例如,不允許重複的「產品編號」欄位對於索引來說是理想的選擇;相反,「性別」欄位不適合索引。

如果某些欄位需要組合在一起檢索,組合時欄位值的重複率較低,例如「名字」欄位和「姓氏」欄位,可以選擇這兩個欄位創建複合索引,這比為這兩個欄位創建單獨的索引更有效。

4. 索引欄位排序的目的是什麼?

當索引中只有一個欄位時,視圖中欄位的排序不會影響檢索加速;否則,請盡量確保視圖中欄位的排序方式與索引中設定的排序方式相同,否則擷取可能無法加快速度。

5. 索引越多越好嗎?

並非如此。索引只是加快檢索速度,而在新增、更新或刪除資料時,系統會花費更多時間更新索引,因此過多的索引會減慢這些操作,甚至影響查詢速度。

6. 系統會自動為我創建索引嗎?

是的。 會根據雲端平台的日常存取日誌,智慧分析常用的查詢語句,自動創建適當的索引。因此,請不要修改和刪除非您創建的索引。目前私有部署不支援自動創建索引

7. 多重欄位索引對單一欄位有效嗎?

如果要在查詢時使用複合索引,則需要符合查詢前綴匹配的原則。例如,查詢學生資料時,依照「姓名」、「畢業時間」、「專業」的順序創建三個欄位的複合索引。當你按「姓名+畢業時間+專業」、「姓名+畢業時間」、「姓名」查詢時,透過索引可以快速得到結果(需要符合上面索引排序的規則)。但當按「畢業時間+專業」、「畢業時間」或「專業」查詢時,索引不起作用,無法加快查找速度。