> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ALTER TABLE ... DELETE SQL 문서

# ALTER TABLE ... DELETE

```sql theme={null}
ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE [IN PARTITION partition_expr1 [, partition_expr2 ...]] WHERE filter_expr
```

지정된 필터링 표현식과 일치하는 데이터를 삭제합니다. [뮤테이션](/ko/reference/statements/alter/index#mutations)으로 구현됩니다.

<Warning>
  `ALTER TABLE` 접두사는 OLTP 데이터베이스의 유사한 쿼리와 달리 이 작업이 heavyweight 작업임을 나타냅니다. `ALTER TABLE ... DELETE`는 필터링 표현식과 일치하는 행을 포함하는 모든 데이터 파트를 재작성하므로 상당한 쓰기 I/O가 발생합니다. `SELECT` 성능에 영향을 줄 수 있으므로 필요한 경우에만 사용하십시오.

  `MergeTree` 테이블에서는 경량한 삭제를 수행하며 훨씬 더 빠를 수 있는 [`DELETE FROM` 쿼리](/ko/reference/statements/delete) 사용을 고려하십시오. 삭제나 수정이 자주 필요한 워크로드에는 [`ReplacingMergeTree`](/ko/concepts/features/operations/update/replacing-merge-tree) 또는 [`CollapsingMergeTree`](/ko/reference/engines/table-engines/mergetree-family/collapsingmergetree) 사용을 고려하십시오.
</Warning>

`filter_expr`는 `UInt8` 유형이어야 합니다. 이 표현식의 값이 0이 아닌 테이블의 행이 삭제됩니다.

하나의 쿼리에는 쉼표로 구분된 여러 명령을 포함할 수 있습니다.

`IN PARTITION` 절은 뮤테이션을 나열된 파티션으로 제한합니다. 이 절이 없으면 `ReplicatedMergeTree` 계열 테이블에서는 [optimize\_mutations\_with\_partition\_pruning](/ko/reference/settings/session-settings/optimize) 설정이 활성화된 경우(기본값) ClickHouse가 `filter_expr`의 파티션 키 조건을 자동으로 감지하여 영향을 받는 파티션만 뮤테이션합니다. 복제되지 않은 `MergeTree` 테이블에서는 명시적인 `IN PARTITION` 절을 사용하여 뮤테이션을 특정 파티션으로 제한하십시오.

쿼리 처리의 동기성은 [mutations\_sync](/ko/reference/settings/session-settings/mutations#mutations_sync) 설정으로 정의됩니다. 기본값은 비동기입니다.

**관련 항목**

* [뮤테이션](/ko/reference/statements/alter/index#mutations)
* [ALTER 쿼리의 동기성](/ko/reference/statements/alter/index#synchronicity-of-alter-queries)
* [mutations\_sync](/ko/reference/settings/session-settings/mutations#mutations_sync) 설정

## 관련 콘텐츠

* 블로그: [ClickHouse에서 업데이트와 삭제 처리하기](https://clickhouse.com/blog/handling-updates-and-deletes-in-clickhouse)
