共用方式為


.alter-merge 數據表原則鏡像命令

適用於: ✅Microsoft Fabric

變更數據表的 鏡像原則。 鏡像原則會以差異 parquet 格式在資料庫中建立數據表的邏輯複本,並可讓您分割檔案以改善查詢速度。 每個分割區會使用 Partitions 清單中所列的 PartitionName,以個別數據行表示。 這表示目標中的數據行數目比源數據表中的數據行多。

語法

.alter | .alter-mergetableTableNamepolicy mirroring [partitionbyPartitions)] dataformat = parquet [with(propertyName=propertyValue [, ...])]

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
TableName 字串 ✔️ 遵守實體名稱規則的 數據表名稱
資料分割 字串 以逗號分隔的數據行清單,用來將數據分割成較小的分割區。 請參閱 分割區格式設定。
propertyNamepropertyValue string 索引鍵/值屬性組的逗號分隔清單。 請參閱支援的屬性。

數據分割格式設定

數據分割清單是資料分割資料行的任何組合,使用下表所示的其中一個表單來指定。

數據分割類型 語法 備註
虛擬數據行 PartitionName:datetime | string 深入瞭解 虛擬數據行
字串數據行值 PartitionName:string=ColumnName
字串資料行值 哈希() : long = hash( Number, 哈希為模數
截斷日期時間資料行 (value) PartitionName:datetime=startofyear | startofmonth | startofweek | startofday(ColumnName) 請參閱 startofyear、startofmonthstartofweekstartofday 函式的檔。
截斷的 Datetime 資料行值 =bin(ColumnName,TimeSpan) 深入瞭解 bin 函式。

注意

每個分割區會使用 Partitions 清單中所列的 PartitionName,以個別數據行表示。 PartitionName 必須是不區分大小寫的唯一字串,以及其他數據分割名稱和鏡像數據表的數據行名稱。

支援的屬性

姓名 類型​​ 描述
IsEnabled bool 布爾值,決定是否啟用鏡像原則。 預設值為 true。 停用鏡像原則並設定為 false時,基礎鏡像數據會虛刪除並保留在資料庫中。
TargetLatencyInMinutes int 寫入作業延遲為最小值。 根據預設,寫入作業最多可能需要 3 小時,或直到有 256 MB 的數據可用為止。 您可以將延遲調整為介於 5 分鐘到 3 小時之間的值。
Backfill bool 當設定為 true時,鏡像會從 EffectiveDateTime開始。 如果未指定 EffectiveDateTime,則會鏡像所有數據表數據。 預設值為 false
EffectiveDateTime datetime 當 Backfill 設定為 true時相關。 如果提供,鏡像會從指定的值開始。

注意

啟用鏡像原則時,無法重新命名數據表。

範例

.alter 數據表原則鏡像

在下列範例中,會鏡像名為 myTable 的數據表。 數據會先依名稱分割,再依日期分割。

.alter table myTable policy mirroring
  partition by (Name: string=Name, Date: datetime= startofday(timestamp))
  dataformat=parquet
  with
  (IsEnabled=true, Backfill=true, EffectiveDateTime=datetime(2025-01-01))