定義其他索引鍵以參照資料列
其他索引鍵提供有效率且準確的方式與外部系統整合。 這在外部系統未儲存可唯一識別 Microsoft Dataverse 中資料列之全域唯一識別碼 (GUID) 的情況下至關重要。
資料整合系統使用其他索引鍵來唯一識別使用一或多個代表唯一組合之表格資料行值的資料列。 每個其他索引鍵都有唯一的名稱。
例如,若要使用其他索引鍵識別客戶資料列,您可以使用客戶編碼或是與其他一些具有不應變更值之資料行組合的客戶編碼資料行。
注意
雖然可以在使用 Power Apps 來定義其他索引鍵,但是只能以程式設計方式,在程式碼中使用這些索引鍵。 若要深入了解如何以程式設計方式使用其他索引鍵,請參閱:
其他索引鍵的好處包括:
- 更快的資料列查詢。
- 更為健全的大量資料作業。
- 簡化從沒有資料列識別碼的外部系統匯入資料的程式設計。
建立其他索引鍵
有兩個設計工具可用來建立其他索引鍵:
設計工作 | 描述 |
---|---|
Power Apps 入口網站 | 提供輕鬆簡化的體驗,但有些選項無法使用。 其他資訊:使用 Power Apps 入口網站定義其他索引鍵 |
方案總管 | 不是那麼容易,但針對較不常見的需求提供更大的彈性。 其他資訊:使用方案總管定義其他索引鍵 |
本主題中的資訊可協助您選擇能夠使用哪一個設計工具。
除非您需要處理下列任何需求,否則應該使用 Power Apps 入口網站來建立其他索引鍵。
- 在 Common Data Service 預設解決方案以外的解決方案中建立其他索引鍵。
- 您想要輕鬆地追蹤為了追蹤建立支援索引進度而建立的系統作業。
建立其他索引鍵中的限制
有一些對其他索引鍵建立作業的限制。
其他索引鍵可以使用的欄位
只有下列類型的資料行可以用來建立其他索引鍵:
- 小數點
- 整數 (Integer)
- 單行文字 (String)
- 日期和時間
- 查閱
- 選擇
注意
- 已啟用啟用欄安全性屬性的欄,無法做為其他索引鍵。 其他資訊:欄位安全性表格
- 當 NULL 值在其他索引鍵資料行中使用時,將不會強制執行唯一性。 為了避免重複記錄,請勿在其他索引鍵的唯一限制式中定義的資料行中使用 null 值。
索引鍵數目
您可以對表格定義最多 10 種不同的索引鍵。
有效的索引鍵大小
當索引鍵建立後,系統會確認該索引鍵可在平台上收到支援,包括索引鍵的總大小不可違反 SQL 索引限制式,如每個索引鍵 900 個位元組及每個索引鍵 16 個資料行。 如果索引鍵大小不符合限制式,則會顯示錯誤訊息。
索引鍵值中的 Unicode 字元
如果其他索引鍵所使用資料行中的資料包含下列其中一個字元 <
、>
、*
、%
、&
、:
、/
、\\
和 #
,則更新或 upsert (填補) 動作將無法運作。
如果您只需要唯一性,那麼這種方法會有效,但如果您需要在資料整合過程中使用這些索引鍵,最好在不具備包含這些字元之資料的行上建立索引鍵。
追蹤其他索引鍵的建立狀態
建立其他索引鍵時,此作業會起始要在資料庫表格上建立索引的系統作業,對其他索引鍵所使用的資料行強制執行唯一限制式。 在建立這些索引之前,其他索引鍵將不會生效。 建立這些索引可能需要一些時間,需視系統中的資料量而定。
系統作業的狀態決定其他索引鍵的狀態。 其他索引鍵可能會有下列狀態:
- 擱置
- 進行中
- 使用中
- 失敗
完成系統作業時,其他索引鍵的狀態為使用中,表示可供使用。
如果系統作業失敗,請找出系統作業來檢視任何錯誤。 系統作業的名稱將會依循這個模式:Create index for {0} for table {1}
,其中 0
是其他索引鍵的顯示名稱,而 1
是資料行名稱。
注意
如果您想要監視系統作業的狀態,則應使用方案總管來建立索引。 其中會包含系統作業的連結,讓您可以進行監視。 其他資訊:(選用) 檢視追蹤索引建立作業的系統作業
請參閱
使用 Power Apps 入口網站定義其他索引鍵
使用解決方案總管定義其他索引鍵
開發人員文件:定義資料行的其他索引鍵
開發人員文件:使用其他索引鍵來建立資料列