共用方式為


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

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

語法

() tableTableNamepolicy mirroring [partitionby.alter | .alter-merge分割區)]dataformat = parquet
[ (withIsEnabled=IsEnabledValue)]

深入瞭解 語法慣例

參數

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

數據分割格式設定

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

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

注意

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

屬性

名稱 類型​​ 描述
IsEnabled bool 布爾值,決定是否啟用鏡像原則。 預設值為 true。 停用鏡像原則並設定為 false時,基礎鏡像數據會虛刪除並保留在資料庫中。

範例

.alter 數據表原則鏡像

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

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

不支援此功能。