1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Status of Cardinality Estimation

Operator Without histogram With histogram
select See below See below
project YES YES
rename YES YES
duplicate elim YESYES
sort YES YES
one row only YES YES
group by (1 grouping attr) YES YES
group by (>1 grouping attrs) YES YES
scalar group by (0 grouping attrs) YES YES
table scan NO If no stats needs rowcount, or guess rowcount YES
exchange YES YES
product YES YES
Inner Theta Join See below See below
Semi Join See below See below
Anti Semi Join NONO
Full Outer Join NO NO
Left Outer Join NO NO
Right Outer Join NO NO
Apply YES YES
Union YES YES
Intersection YES YES
Difference YES YES

Supported select predicates

Operator Without histogram With histogram
AND YES YES
OR YES YES
NOT YES YES
IS NULL YES YES
LIKE YES heuristic guess YES heuristic guess
IN YES YES
ATTR = CONST YES YES
ATTR < CONST YES YES
ATTR > CONST YES YES
ATTR != CONST YES YES
ATTR <= CONST YES YES
ATTR >= CONST YES YES
ATTR = ATTR NO YES
ATTR < ATTR NO YES
ATTR > ATTR NO YES
ATTR != ATTR NO YES
ATTR <= ATTR NO YES
ATTR >= ATTR NO YES
CONST = CONST NO YES
CONST < CONST NO YES
CONST > CONST NO YES
CONST != CONST NO YES
CONST <= CONST NO YES
CONST >= CONST NO YES
FUNC = CONST NO YES
FUNC < CONST NO YES
FUNC > CONST NO YES
FUNC != CONST NO YES
FUNC <= CONST NO YES
FUNC >= CONST NO YES
FUNC = ATTR NO NO
FUNC < ATTR NO NO
FUNC > ATTR NO NO
FUNC != ATTR NO NO
FUNC <= ATTR NO NO
FUNC >= ATTR NO NO
FUNC = FUNC NO NO
FUNC < FUNC NO NO
FUNC > FUNC NO NO
FUNC != FUNC NO NO
FUNC <= FUNC NO NO
FUNC >= FUNC NO NO

Supported inner theta join predicates

Operator Without histogram With histogram
AND NO NO
OR NO NO
NOT NO NO
IS NULL NO NO
LIKE NO NO
IN NO NO
ATTR = CONST N/A N/A
ATTR < CONST N/A N/A
ATTR > CONST N/A N/A
ATTR != CONST N/A N/A
ATTR <= CONST N/A N/A
ATTR >= CONST N/A N/A
ATTR = ATTR NOYES
ATTR < ATTR NONO
ATTR > ATTR NONO
ATTR != ATTR NONO
ATTR <= ATTR NONO
ATTR >= ATTR NONO
CONST = CONST N/A N/A
CONST < CONST N/AN/A
CONST > CONST N/A N/A
CONST != CONST N/A N/A
CONST <= CONST N/A N/A
CONST >= CONST N/A N/A
FUNC = CONST N/AN/A
FUNC < CONST N/AN/A
FUNC > CONST N/A N/A
FUNC != CONST N/A N/A
FUNC <= CONST N/A N/A
FUNC >= CONST N/A N/A
FUNC = ATTR NO NO
FUNC < ATTR NONO
FUNC > ATTR NO NO
FUNC != ATTR NONO
FUNC <= ATTR NONO
FUNC >= ATTR NONO
FUNC = FUNC NO NO
FUNC < FUNC NO NO
FUNC > FUNC NO NO
FUNC != FUNC NO NO
FUNC <= FUNC NO NO
FUNC >= FUNC NO NO

Supported semi join predicates

Operator Without histogram With histogram
AND NO NO
OR NO NO
NOT NO NO
IS NULL NO NO
LIKE NO NO
IN NO NO
ATTR = CONST N/A N/A
ATTR < CONST N/A N/A
ATTR > CONST N/A N/A
ATTR != CONST N/A N/A
ATTR <= CONST N/A N/A
ATTR >= CONST N/A N/A
ATTR = ATTR NOYES
ATTR < ATTR NONO
ATTR > ATTR NONO
ATTR != ATTR NONO
ATTR <= ATTR NONO
ATTR >= ATTR NONO
CONST = CONST N/A N/A
CONST < CONST N/AN/A
CONST > CONST N/A N/A
CONST != CONST N/A N/A
CONST <= CONST N/A N/A
CONST >= CONST N/A N/A
FUNC = CONST N/AN/A
FUNC < CONST N/AN/A
FUNC > CONST N/A N/A
FUNC != CONST N/A N/A
FUNC <= CONST N/A N/A
FUNC >= CONST N/A N/A
FUNC = ATTR NO NO
FUNC < ATTR NONO
FUNC > ATTR NO NO
FUNC != ATTR NONO
FUNC <= ATTR NONO
FUNC >= ATTR NONO
FUNC = FUNC NO NO
FUNC < FUNC NO NO
FUNC > FUNC NO NO
FUNC != FUNC NO NO
FUNC <= FUNC NO NO
FUNC >= FUNC NO NO