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