[
https://issues.apache.org/jira/browse/CALCITE-5350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
raymond tsui closed CALCITE-5350.
---------------------------------
Resolution: Not A Bug
> SimplifyNot with a big overhead
> -------------------------------
>
> Key: CALCITE-5350
> URL: https://issues.apache.org/jira/browse/CALCITE-5350
> Project: Calcite
> Issue Type: Improvement
> Reporter: raymond tsui
> Priority: Major
> Attachments: perf.png
>
>
> I am new here, and freshman in Sql and Calcite
> i set the IN threshold to Integer.MAX_VALUE. Original Sql look like
> {code:java}
> select a,b from t1 where c=xxx and a in(...//500 element){code}
> and then relNode look like
> {code:java}
> OR(....//$a=element above * 500){code}
> i know that IN will convert to OR when the size of IN's emelents < threshold.
> then i used perf, and i found the big overhead in RexSimplify.simplifyIs()
> and simplifyNot() _*[see it in attachment]*_
> i have read some calcite source code but still felt confused,Could somebody
> explain the whole process when Calcaite meets IN ?
> or provide some releated issues for me to learn by myself.
> thx a lot ! :)
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)