BETWEEN filters comparing SYSDATE or SYSTIMESTAMP can lead to bad join orders

Details

Detail name Value
Changelog Number 5052
Type Improvement
Status Resolved
Fix Versions Exasol 7.0.0
Resolution Date 2020-09-11

Description

Filters like BETWEEN, <, >, <=, >= are estimated by the join optimizer to determine best join orders, index scan usage and UNION ALL optimization application.

Using date functions like SYSDATE, SYSTIMESTAMP, CURRENT_DATE, CURRENT_TIMESTAMP, LOCALTIMESTAMP with the above predicates may lead to bad join orders due to incorrect estimates.
In addition no index scan or UNION ALL optimization is performed.

Improvement

The system date/timestamp between filter estimation has been fixed for join optimizer. Join ordering, index scan usage and UNION ALL optimization will benefit from this.