Hi Abhijit,

Usually the very first query is optimized a bit long in Calcite. But after some warm-up the next queries will be planned faster and faster.

If you use Calcite as a part of a server application, then the problem with a long query planning will be eliminated after a few query runs.

Thanks.

--

Roman

On 23.08.2023 01:33, Abhijit Subramanya wrote:
Hi,

       I am currently working with Apache Calcite and using the
VolcanoPlanner to optimize queries. I've noticed that the planner.setRoot()
function can take approximately 100ms to complete. After some profiling, it
appears that the JaninoRelMetadataProvider.compile function might be the
bottleneck.


     Is this level of optimization time expected for a simple query like:


SELECT * FROM table1

LEFT JOIN table2 ON table1.a = table2.a

WHERE d >= '2023-08-01'

LIMIT 1000;


I'm running this on my MacBook, which has macOS Ventura, 16GB of RAM, and
10 CPU cores. I am using the latest version of calcite from the github repo.


Are there specific settings or configurations I should be aware of for
optimizing query compilation times in Calcite?


Thanks

Reply via email to