You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Vinokurov (JIRA)" <ji...@apache.org> on 2018/03/22 09:05:00 UTC
[jira] [Updated] (IGNITE-8009) SQL local query to a cache with
queryParallelism>1 doesn't use index
[ https://issues.apache.org/jira/browse/IGNITE-8009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Vinokurov updated IGNITE-8009:
------------------------------------
Description:
queryParallelism>1 + setLocal(true) changes the query plan and exclude usage of the sql index.
Explain query with setLocal(false) and queryParallelism=1 :
SELECT
T__Z0.ID AS __C0_0
FROM TABLE(COL VARCHAR='name0') I__Z1
/* function */
INNER JOIN PUBLIC.PERSON T__Z0
/* PUBLIC.PERSON_NAME: NAME = I__Z1.COL */
ON 1=1
WHERE (T__Z0.SOURNAME = 'sourname0')
AND (T__Z0.NAME = I__Z1.COL)
Explain query with setLocal(true) and queryParallelism=2 :
SELECT
T__Z1.ID AS __C0_0
FROM PUBLIC.PERSON T__Z1
/* PUBLIC.PERSON.__SCAN_ */
/* WHERE T__Z1.SOURNAME = 'sourname0'
*/
INNER JOIN TABLE(COL VARCHAR='name0') I__Z0
/* function: COL = T__Z1.NAME */
ON 1=1
WHERE (T__Z1.SOURNAME = 'sourname0')
AND (T__Z1.NAME = I__Z0.COL)
was:
queryParallelism>1 + setLocal(true) changes the query plan and exclude usage of the sql index.
Explain query with setLocal(false) and queryParallelism=1
SELECT
T__Z0.ID AS __C0_0
FROM TABLE(COL VARCHAR='name0') I__Z1
/* function */
INNER JOIN PUBLIC.PERSON T__Z0
/* PUBLIC.PERSON_NAME: NAME = I__Z1.COL */
ON 1=1
WHERE (T__Z0.SOURNAME = 'sourname0')
AND (T__Z0.NAME = I__Z1.COL)
Explain query with setLocal(true) and queryParallelism=2
SELECT
T__Z1.ID AS __C0_0
FROM PUBLIC.PERSON T__Z1
/* PUBLIC.PERSON.__SCAN_ */
/* WHERE T__Z1.SOURNAME = 'sourname0'
*/
INNER JOIN TABLE(COL VARCHAR='name0') I__Z0
/* function: COL = T__Z1.NAME */
ON 1=1
WHERE (T__Z1.SOURNAME = 'sourname0')
AND (T__Z1.NAME = I__Z0.COL)
> SQL local query to a cache with queryParallelism>1 doesn't use index
> ---------------------------------------------------------------------
>
> Key: IGNITE-8009
> URL: https://issues.apache.org/jira/browse/IGNITE-8009
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Affects Versions: 2.3, 2.4
> Reporter: Pavel Vinokurov
> Priority: Major
> Attachments: ExplainAndIndexReproducer.java
>
>
> queryParallelism>1 + setLocal(true) changes the query plan and exclude usage of the sql index.
> Explain query with setLocal(false) and queryParallelism=1 :
> SELECT
> T__Z0.ID AS __C0_0
> FROM TABLE(COL VARCHAR='name0') I__Z1
> /* function */
> INNER JOIN PUBLIC.PERSON T__Z0
> /* PUBLIC.PERSON_NAME: NAME = I__Z1.COL */
> ON 1=1
> WHERE (T__Z0.SOURNAME = 'sourname0')
> AND (T__Z0.NAME = I__Z1.COL)
> Explain query with setLocal(true) and queryParallelism=2 :
> SELECT
> T__Z1.ID AS __C0_0
> FROM PUBLIC.PERSON T__Z1
> /* PUBLIC.PERSON.__SCAN_ */
> /* WHERE T__Z1.SOURNAME = 'sourname0'
> */
> INNER JOIN TABLE(COL VARCHAR='name0') I__Z0
> /* function: COL = T__Z1.NAME */
> ON 1=1
> WHERE (T__Z1.SOURNAME = 'sourname0')
> AND (T__Z1.NAME = I__Z0.COL)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)