Outdated minimum/maximum column statistics through updating statements

Details

Detail name Value
Changelog Number 10010
Type Bug
Status Resolved
Affected Versions Exasol 6.1.0, Exasol 6.2.0
Fix Versions Exasol 7.0.0, Exasol 6.2.7
Resolution Date 2020-05-06

Background

Column statistics (distinct estimates, minimum & maximum values) are used by the join order optimizer to minimize pipeline costs. Minimum and maximum values are the basis for estimating selectivity of BETWEEN and LESS THAN filter conditions.

Column statistics are automatically maintained by DML statements. They are fully recomputed if a significant amount of table data has been changed since the last computation. Minimum and maximum values are kept up-to-date if new data is being inserted.

Problem

In case of a mix of inserting and updating statements (UPDATE, MERGE) it can happen that the maintenance of minimum and maximum values is completely abandoned until next full recomputation. The column statistics will become outdated and hence query performance problems can appear.

Fix

The statistics maintenance will be improved to always maintain minimum and maximum values in inserting statements.

Workaround

In Exasol 6.2 releases (starting with 6.2.7) the improved behavior can to be activated by database parameter "-alwaysUpdateMinMax=1".