[ 
https://issues.apache.org/jira/browse/IGNITE-19964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Pereslegin updated IGNITE-19964:
--------------------------------------
    Description: 
Currently boolean index is used by an expression like {{WHERE ... field IS 
<TRUE | FALSE, NULL>}}, but is not used by expression like {{WHERE ... field IS 
NOT <TRUE | FALSE | NULL>}}. This is based on the assumption that without 
knowing the data distribution,  on average, performing multiple index scans 
will be slower  than a single table scan (for example {{field = TRUE or field = 
NULL}}).

We need to investigate the possibility of improving this behavior when the 
planner will considers distribution of data.
You may also need to rewrite the corresponding expression (see 
{{RexUtils#expandBooleanFieldComparison}}).

  was:
Currently boolean index is used by an expression like {{WHERE ... field IS 
<TRUE | FALSE, NULL>}}, but is not used by expression like {{WHERE ... field IS 
NOT <TRUE | FALSE | NULL>}}.

This is based on the assumption that without knowing the data distribution,  on 
average, performing multiple index scans will be slower  than a single table 
scan (for example {{field = TRUE or field = NULL}}).

We need to investigate the possibility of improving this behavior when the 
planner will considers distribution of data.
You may also need to rewrite the corresponding expression (see 
{{RexUtils#expandBooleanFieldComparison}}).


> Sql. Improve index scan on boolean field.
> -----------------------------------------
>
>                 Key: IGNITE-19964
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19964
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Pavel Pereslegin
>            Priority: Minor
>              Labels: ignite-3
>
> Currently boolean index is used by an expression like {{WHERE ... field IS 
> <TRUE | FALSE, NULL>}}, but is not used by expression like {{WHERE ... field 
> IS NOT <TRUE | FALSE | NULL>}}. This is based on the assumption that without 
> knowing the data distribution,  on average, performing multiple index scans 
> will be slower  than a single table scan (for example {{field = TRUE or field 
> = NULL}}).
> We need to investigate the possibility of improving this behavior when the 
> planner will considers distribution of data.
> You may also need to rewrite the corresponding expression (see 
> {{RexUtils#expandBooleanFieldComparison}}).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to