You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2018/05/08 08:40:00 UTC

[jira] [Comment Edited] (IGNITE-4150) B-Tree index cannot be used efficiently with IN clause.

    [ https://issues.apache.org/jira/browse/IGNITE-4150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467015#comment-16467015 ] 

Vladimir Ozerov edited comment on IGNITE-4150 at 5/8/18 8:39 AM:
-----------------------------------------------------------------

Test run: https://ci.ignite.apache.org/viewQueued.html?itemId=1274474


was (Author: vozerov):
Test run: https://ci.ignite.apache.org/viewLog.html?buildId=1274365&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAllSql

> 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)