MERGE: Performance enhancements for large target tables
Details
| Detail name | Value |
|---|---|
| Changelog Number | 59 |
| Type | Improvement |
| Status | Resolved |
| Fix Versions | EXASOL 6.0.0 |
| Resolution Date | 2017-03-16 |
MERGE statement is accelerated in the following situations:
- number of rows in the target table is more than factor 10 bigger than the number of rows in the source table
In those cases, the source table is scanned and joined onto the target table to pre-select matching rows. After that regular merge processing follows joining the source table.
The join on the target table may required the creation of a new index that will be stored permanently and reused in next similar merges. Depending on source table sizes, there can be local and global indices.
This may significantly accelerate the merge operation in typical use cases with large target tables.
This merge optimization can be disabled by database parameter: -usePushMerge=0