EXPLAIN/TRACE statements reference
Hi, I have been studying on the slow query behavior with certain joins in MonetDB. I use explain & trace statements to understand the flow. But, I couldn't actually understand the MAL statements that appear as the output of EXPLAIN/TRACE statements. I tried learning MAL with this reference - https://www.monetdb.org/Documentation/Manuals/MonetDB/MALreference But it had no explanations for system defined MAL statements that appear in trace. For example, from the trace statement, I could find that a lot of time was spent in the MAL expression "language.dataflow()", but without actually knowing what does this step actually do, I am unable to optimize the query. - *Is there any reference guide to understand the output of EXPLAIN/TRACE? Or should we refer to the source code to understand this? * - *Is it possible to know the query plan that Monet arrives to execute a query? * - *Is it possible to make the output of EXPLAIN/TRACE to be in SQL format, like in MySQL?* Any help much appreciated. Thanks & Regards, Vijayakrishna.P. Mobile : (+91) 9500402305.
On 26/12/14 13:44, Vijay Krishna wrote:
Hi, Hi
I have been studying on the slow query behavior with certain joins in MonetDB. I use explain & trace statements to understand the flow.
But, I couldn't actually understand the MAL statements that appear as the output of EXPLAIN/TRACE statements.
I tried learning MAL with this reference - https://www.monetdb.org/Documentation/Manuals/MonetDB/MALreference But it had no explanations for system defined MAL statements that appear in trace.
For example, from the trace statement, I could find that a lot of time was spent in the MAL expression "language.dataflow()", but without actually knowing what does this step actually do, I am unable to optimize the query.
Dataflow blocks mark a parallel block; https://www.monetdb.org/Documentation/Manuals/MonetDB/Optimizers/Dataflow1
* *Is there any reference guide to understand the output of EXPLAIN/TRACE? Or should we refer to the source code to understand this? * https://www.monetdb.org/Documentation/Manuals/SQLreference/Runtime * *Is it possible to know the query plan that Monet arrives to execute a query? Explain always shows the plan to be executed. * * *Is it possible to make the output of EXPLAIN/TRACE to be in SQL format, like in MySQL?* You can use EXPLAIN/PLAN/TRACE to inspect the plans generated https://www.monetdb.org/Documentation/Manuals/SQLreference/Runtime
Success, Martin
Any help much appreciated.
Thanks & Regards,
Vijayakrishna.P. Mobile : (+91) 9500402305.
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
Hello Martin,
Thanks for the guidance. It threw some light but I couldn't connect the
dots.
I would like to know how much time does each step shown in plan took. Time
could actually be found in trace, but is it possible to relate the output
of plan and trace statements, to actually find out how much time does each
step in plan took?
I could get dataflow, but to understand MAL statements that appear as TRACE
output, should we refer to source code? Like I get expressions like
sql.bind, sql.mvc(), algebra.subslice and a lot in TRACE output, that is
consuming considerable time. Is there any reference for these TRACE
outputs?
Thanks & Regards,
Vijayakrishna.P.
Mobile : (+91) 9500402305.
On Fri, Dec 26, 2014 at 6:43 PM, Martin Kersten
On 26/12/14 13:44, Vijay Krishna wrote:
Hi,
Hi
I have been studying on the slow query behavior with certain joins in MonetDB. I use explain & trace statements to understand the flow.
But, I couldn't actually understand the MAL statements that appear as the output of EXPLAIN/TRACE statements.
I tried learning MAL with this reference - https://www.monetdb.org/ Documentation/Manuals/MonetDB/MALreference But it had no explanations for system defined MAL statements that appear in trace.
For example, from the trace statement, I could find that a lot of time was spent in the MAL expression "language.dataflow()", but without actually knowing what does this step actually do, I am unable to optimize the query.
Dataflow blocks mark a parallel block;
https://www.monetdb.org/Documentation/Manuals/MonetDB/Optimizers/Dataflow1
* *Is there any reference guide to understand the output of
EXPLAIN/TRACE? Or should we refer to the source code to understand this? *
https://www.monetdb.org/Documentation/Manuals/SQLreference/Runtime
* *Is it possible to know the query plan that Monet arrives to execute a query?
Explain always shows the plan to be executed.
* * *Is it possible to make the output of EXPLAIN/TRACE to be in SQL format, like in MySQL?*
You can use EXPLAIN/PLAN/TRACE to inspect the plans generated https://www.monetdb.org/Documentation/Manuals/SQLreference/Runtime
Success, Martin
Any help much appreciated.
Thanks & Regards,
Vijayakrishna.P. Mobile : (+91) 9500402305.
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
participants (2)
-
Martin Kersten
-
Vijay Krishna