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

Konstantin Orlov commented on IGNITE-10306:
-------------------------------------------

Below are results of benchmarks. All tests were running on follow setup: 3 
server nodes and 3 drivers, all hosts are 2x Xeon X5570 96Gb 512GB SSD 2048GB 
HDD 10GB/s.
||name||rps w/out rewriting||rps with rewriting||diff||
|SELECT_EXPR_CORRELATED|30728.60|32339.50|5.24%|
|SELECT_EXPR_UNCORRELATED|31332.20|30860.90|-1.50%|
|EXISTS_EXPR|37.44|32677.60|87184.11%|
|IN_EXPR_CORRELATED|27410.30|32714.70|19.35%|
|IN_EXPR_UNCORRELATED|27351.10|33284.00|21.69%|
|OUTER_IS_BIG_AND_INNER_IS_SMALL|17600.80|18278.10|3.85%|
|SINGLE_PARTITION_OPTIMIZATION|34.72|8517.31|24431.35%|
|TABLE_LIST|30196.40|31360.00|3.85%|

> SQL: Transform subqueries to JOINs when possible
> ------------------------------------------------
>
>                 Key: IGNITE-10306
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10306
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>            Reporter: Vladimir Ozerov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: iep-24
>          Time Spent: 63.5h
>  Remaining Estimate: 108h
>
> Currently subqueries are mostly not analyzed in any way. This makes our 
> distributed execution plan more complex to analyze and execute. Moreover, we 
> cannot extract partition information from such queries efficiently. We need 
> to apply the simplest "JOIN conversion" optimization on early query analysis 
> phase and try to transform our AST from subquery to join. 
> This should be done before partition extraction, pushdowns and splitter. See 
> [1] for more information.
> Postgres implementation of subquery rewrites could be found here [2].
> [1] 
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-24%3A+SQL+Partition+Pruning
> [2] 
> https://github.com/postgres/postgres/blob/master/src/backend/optimizer/prep/prepjointree.c



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to