删除数据

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息
适用于:✅ Azure Data Explorer

可以通过多种方式从表中删除数据。 以下信息可帮助你选择最适合你的用例的删除方法。

使用案例 注意事项 方法
删除表中的所有数据。 使用 .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

通过删除盘区来删除数据

Extent(数据分片)是数据存储的内部结构。 每个盘区可容纳多达数百万条记录。 可以使用 删除扩展区命令来单独删除扩展区或成组删除扩展区。

示例

你可以删除表中的所有行,或者只删除特定的区段。

  • 删除表中的所有行:

    .drop extents from TestTable
    
  • 删除特定的区段

    .drop extent e9fac0d2-b6d5-4ce3-bdb4-dea052d13b42
    

删除单个行

可以使用清除和软删除来删除单个行。 软删除不一定会去除包含要删除记录的存储构件,而清除则会删除所有这些存储构件。

这两种方法都阻止恢复已删除的记录,而不考虑任何保留或可恢复性设置。 “删除”过程是最终的且不可逆的。

软删除

通过使用软删除,不一定会从存储工件中删除数据。 此方法将所有匹配的记录标记为已删除,以便查询筛选掉它们,并且不需要重要的系统资源。

清理

通过使用清除,将含有一个或多个要删除记录的盘区替换为不含这些记录的新盘区。 此删除过程不会立即完成,它需要使用大量系统资源,可能需要一整天才能完成。