> For the complete documentation index, see [llms.txt](https://upsolver.gitbook.io/content/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://upsolver.gitbook.io/content/reference-1/sql-commands/iceberg-tables/upsolver-managed-tables/optimize-iceberg-table.md).

# OPTIMIZE ICEBERG TABLE

Iceberg tables are automatically optimized in the background. However in some situations you may want to manually trigger compaction for a partition or the entire table, for example, you might want to re-write the table data to re-sort it after changing the table sort order.

Upsolver supports manually triggering rewrites in addition to the optimizations the system performs automatically.&#x20;

## Syntax

```sql
OPTIMIZE TABLE <table_identifier> REWRITE DATA [WHERE <partition_filter>];
```

## Examples

### **Optimizing the entire table data**

```sql
OPTIMIZE TABLE my_table REWRITE DATA;
```

### **Optimizing the data for specific partitions**

```sql
OPTIMIZE TABLE my_table REWRITE DATA WHERE partition_date = '2023-01-01';
```

#### Notes

* The `OPTIMIZE TABLE` command can be resource-intensive, especially when sorting. Usually the automatic rewrites performed by Upsolver are sufficient.
* The optional `WHERE` clause in the `REWRITE DATA` option allows for targeted optimization of specific table partitions, which can be useful for large tables where only specific partitions need to be optimized.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://upsolver.gitbook.io/content/reference-1/sql-commands/iceberg-tables/upsolver-managed-tables/optimize-iceberg-table.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
