

# OPTIMIZE
<a name="optimize-statement"></a>

연결된 삭제 파일의 크기와 수에 따라 데이터 파일을 보다 최적화된 레이아웃으로 재작성하여 Apache Iceberg 테이블의 행을 최적화합니다.

**참고**  
`OPTIMIZE`는 트랜잭션이며 Apache Iceberg 테이블에 대해서만 지원됩니다.

## 구문
<a name="optimize-statement-syntax"></a>

다음 구문 요약은 Iceberg 테이블의 데이터 레이아웃을 최적화하는 방법을 보여줍니다.

```
OPTIMIZE [{{db_name}}.]{{table_name}} REWRITE DATA USING BIN_PACK
  [WHERE {{predicate}}]
```

**참고**  
`WHERE` 절 {{조건자}}에는 파티션 열만 사용할 수 있습니다. 파티션되지 않은 열을 지정하면 쿼리가 실패합니다.

압축 작업은 재작성 프로세스 중에 스캔된 데이터의 양에 따라 요금이 부과됩니다. `REWRITE DATA` 작업은 술어를 사용하여 일치하는 행이 포함된 파일을 선택합니다. 파일의 행이 술어와 일치하는 경우 최적화를 위해 파일이 선택됩니다. 따라서 압축 작업의 영향을 받는 파일 수를 제어하려면 `WHERE` 절을 지정합니다.

## 압축 속성 구성
<a name="optimize-statement-configuring-compaction-properties"></a>

압축을 위해 선택할 파일의 크기와 압축 후 결과 파일 크기를 제어하려면 테이블 속성 파라미터를 사용할 수 있습니다. [ALTER TABLE SET TBLPROPERTIES](querying-iceberg-alter-table-set-properties.md) 명령을 사용하여 다음 [테이블 속성](querying-iceberg-creating-tables.md#querying-iceberg-table-properties)을 구성할 수 있습니다.

## 추가 리소스
<a name="optimize-statement-additional-resources"></a>

[Iceberg 테이블 최적화](querying-iceberg-data-optimization.md)