[
https://issues.apache.org/jira/browse/PHOENIX-2957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maryann Xue updated PHOENIX-2957:
---------------------------------
Issue Type: New Feature (was: Bug)
> WhereOptimizer to provide an estimate of key selectivity for key filters
> containing bind variables
> --------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-2957
> URL: https://issues.apache.org/jira/browse/PHOENIX-2957
> Project: Phoenix
> Issue Type: New Feature
> Reporter: Maryann Xue
> Priority: Minor
> Labels: calcite
>
> Calcite will not load values of bind parameters until execution. This will
> not affect the runtime efficiency even if the bind parameter appears in
> primary key related filters, since we support "dynamic filter" and thus can
> re-compile it into a SkipScanFilter whenever possible. But it does affect
> cost calculation at compile time in some way, so it's better for Phoenix to
> be able to provide an estimate of key selectivity if bind parameters appear
> in key filters.
>
> For example, t has a primary key of (k0, k1):
> "select * from t where k0 = ?"
> "select * from t where k0 = 'xxx' and k1 < ?"
> Given some filter estimate constants, like 0.1 for "=", 0.5 for "<" or ">",
> we can calculate an estimate of the entire filter selectivity using logic
> provided by WhereOptimizer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)