
# DELETE轻量化删除表数据
本章节主要介绍轻量化DELETE删除表数据的SQL基本语法和使用说明。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
本章节仅适用于MRS 3.3.0及之后版本。
#### 基本语法
**DELETE FROM** *\[db.\]* *table* *\[ON CLUSTER cluster\]* **WHERE** *expr*
#### 使用示例
- 建表：
  ```
  CREATE TABLE default.test_lightweight_delete
  (
  `id`    Int32,
  `pdate` Date,
  `name`  String,
  `class` Int32
  )
  ENGINE = ReplicatedMergeTree('/clickhouse/tables/distributed_tests/{shard}/test_lightweight_delete', '{replica}')
  PARTITION BY toYYYYMM(pdate)
  PRIMARY KEY id
  ORDER BY id
  SETTINGS index_granularity = 8192, vertical_merge_algorithm_min_rows_to_activate = 1, vertical_merge_algorithm_min_columns_to_activate = 1, min_rows_for_wide_part = 1, min_bytes_for_wide_part = 1;
  ```
  
- 插入数据：
  ```
  insert into default.test_lightweight_delete select rand(), rand() % 365, rand(), rand() from numbers(10);
  ```
  
- 删除数据：
  ```
  delete from default.test_lightweight_delete where id > 0;
  ```
  
 
#### 注意事项
- 已删除的行会立即标记为已删除，并将自动从所有后续查询中过滤掉。数据清理在后台异步发生。此功能仅适用于MergeTree表引擎系列；
- 当前能力只支持本地表和复制表的轻量化删除功能，分布式表暂不支持。
- 数据删除功能的执行性能还依赖merge和mutation（alter table update/delete）任务的多少。queue队列中的mutation任务优先级最低（同一个表上的mutation任务是串行执行的），能并行执行多少个delete任务直接受merge任务执行情况的影响。
- 表中part个数也决定了轻量化删除的性能，part越多，删除越慢。
- Wide part格式文件删除会更快，Compact格式文件删除性能会更慢一些，因为所有列数据都存储在一个文件中。
 
