適用於: ✅Microsoft網狀架構✅Azure 數據總管
有數種方式支援從數據表中刪除數據。 使用下列資訊可協助您選擇最適合使用案例的刪除方法。
| 使用案例 | 考量 | 方法 |
|---|---|---|
| 刪除資料表中的所有數據。 | .clear table data使用 命令 |
|
| 定期刪除舊數據。 | 如果您需要自動化移除解決方案,請使用 。 | 使用保留原則 |
| 依範圍大量刪除特定數據。 | 只有在您是專家使用者時才使用。 | .drop extents使用 命令 |
| 根據記錄的內容刪除記錄。 | - 包含已刪除記錄的記憶體成品不一定會刪除。 - 刪除的記錄無法復原(不論任何保留或復原性設定為何)。 - 如果您需要快速刪除記錄的方式,請使用 。 |
使用虛刪除 |
| 根據記錄的內容刪除記錄。 | - 已刪除包含已刪除記錄的記憶體成品。 - 刪除的記錄無法復原(不論任何保留或復原性設定為何)。 - 需要大量的系統資源和時間才能完成。 |
使用清除 |
| 使用案例 | 考量 | 方法 |
|---|---|---|
| 刪除資料表中的所有數據。 | .clear table data使用 命令 |
|
| 定期刪除舊數據。 | 如果您需要自動化移除解決方案,請使用 。 | 使用保留原則 |
| 依範圍大量刪除特定數據。 | 只有在您是專家使用者時才使用。 | .drop extents使用 命令 |
| 根據記錄的內容刪除記錄。 | - 包含已刪除記錄的記憶體成品不一定會刪除。 - 刪除的記錄無法復原(不論任何保留或復原性設定為何)。 - 如果您需要快速刪除記錄的方式,請使用 。 |
使用虛刪除 |
下列各節說明不同的刪除方法。
刪除資料表中的所有數據
若要刪除資料表中的所有數據,請使用 .clear table data 命令。 此命令是移除資料表中所有數據的最有效率的方式。
語法:
.clear table <TableName> data
使用保留原則刪除數據
根據 保留原則自動刪除數據。 您可以在資料庫或資料表層級設定保留原則。 刪除發生時不保證,但在保留期間之前不會刪除。 這是移除舊數據的有效便利方式。
請考慮設定90天保留的資料庫或數據表。 如果只需要 60 天的數據,請刪除較舊的數據,如下所示:
.alter-merge database <DatabaseName> policy retention softdelete = 60d
.alter-merge table <TableName> policy retention softdelete = 60d
卸除範圍來刪除數據
範圍(數據分區) 是儲存數據的內部結構。 每個範圍最多可以保存數百萬筆記錄。 範圍可以個別刪除,或使用卸除範圍命令作為群組。
範例
您可以刪除資料表中的所有資料列,或只刪除特定範圍。
刪除資料表中的所有資料欄位:
.drop extents from TestTable刪除特定範圍:
.drop extent e9fac0d2-b6d5-4ce3-bdb4-dea052d13b42
刪除個別的數據列
清除和虛刪除都可用於刪除個別的數據列。 虛刪除不一定會刪除包含要刪除之記錄的記憶體成品,而且清除會刪除所有這類記憶體成品。
不論任何保留或可復原性設定為何,這兩種方法都會防止已刪除的記錄復原。 刪除程式是最終且無法復原的。
虛刪除
使用 虛刪除時,數據不一定會從記憶體成品中刪除。 此方法會將所有相符的記錄標示為已刪除,如此一來,它們就會在查詢中篩選掉,而且不需要大量的系統資源。
清除
清除時,要刪除一或多個記錄的範圍會取代為這些記錄不存在的新範圍。 此刪除程式並非立即完成,需要大量的系統資源,而且可能需要一整天的時間才能完成。
虛刪除 可用來刪除個別的數據列。 數據不一定會從記憶體成品中刪除。 不論任何保留或可復原性設定為何,虛刪除都會防止已刪除的記錄復原。 刪除程式是最終且無法復原的。 此方法會將所有相符的記錄標示為已刪除,如此一來,它們就會在查詢中篩選掉,而且不需要大量的系統資源。