[
https://issues.apache.org/jira/browse/IGNITE-4150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467011#comment-16467011
]
ASF GitHub Bot commented on IGNITE-4150:
----------------------------------------
GitHub user devozerov opened a pull request:
https://github.com/apache/ignite/pull/3956
IGNITE-4150
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-4150
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3956.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3956
----
commit 32f2540d20223539e5a587993fa3e81d0d02961d
Author: devozerov <vozerov@...>
Date: 2018-05-08T07:16:28Z
IGNITE-4150: Updated H2 version.
----
> B-Tree index cannot be used efficiently with IN clause.
> -------------------------------------------------------
>
> Key: IGNITE-4150
> URL: https://issues.apache.org/jira/browse/IGNITE-4150
> Project: Ignite
> Issue Type: Task
> Components: sql
> Affects Versions: 1.7
> Reporter: Vladimir Ozerov
> Assignee: Vladimir Ozerov
> Priority: Major
> Labels: performance
> Fix For: 2.5
>
>
> Consider the following query:
> {code}
> SELECT * FROM table
> WHERE a = ? AND b IN (?, ?)
> {code}
> If there is an index {{(a, b)}}, it will not be used properly: only column
> {{a}} will be used. This will leads to multiple unnecessary comparisons.
> Most obvious way to fix that - use temporary table and {{JOIN}}. However,
> this approach doesn't work well when there are multiple {{IN}}'s.
> Proper solution would be to hack deeper into H2.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)