maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #11267
MDEV-6111: Optimizer trace: features and milestones
Hi Zhzhzoo,
Please find below some thoughts about features/milestones in the project. Items
at the top of the list should be done first.
The list is not necesarrily complete, any comments/additions are welcome.
- Optimizer trace collection API (is it different from Json_writer that
we have? Does MySQL use the same API to produce EXPLAIN FORMAT=JSON
and produce optimizer_trace? Should we follow them?)
- Basic optimizer trace collection (just print the query and
"hello":"world" instead of trace). Clear the trace data at query start,
collect the trace if tracing is switched on (and do not collect if it is off)
- INFORMATION_SCHEMA.OPTIMIZER_TRACE table in I_S database.
Produce optimizer_trace content for features common with MySQL:
= condition rewrite
= partition pruning
= range analysis
= ref/eq_ref analysis (update_ref_and_keys)
= (TODO what else?)
Produce optimizer_trace content for MariaDB-specific features:
= merged semi-join conversion
= non-merged semi-join conversion
= join condition pushdown
= (TODO what else?)
- optimizer_trace_limit/optimizer_trace_offset (without this feature,
just save one last trace)
- Ability to produce either a pretty-printed or one-line optimizer trace
- Security
= INFORMATION_SCHEMA.OPTIMIZER_TRACE.INSUFFICIENT_PRIVILEGES
= Who can view optimizer_trace?
= Figure out and implement the necessary security restrictions
- Memory limits
= Honor the @@optimizer_trace_max_mem_size setting.
BR
Sergei
--
Sergei Petrunia, Software Developer
MariaDB Corporation | Skype: sergefp | Blog: http://s.petrunia.net/blog
Follow ups