I do not see why this should be a concern for the optimizer team.

The output from EXPLAIN (in any format) does not affect optimizer's operation but only provides information of *optimizer result*. The format chosen is (?) applied is *after* not *before* or *during* the optimization process.

TRADITIONAL EXPLAIN returns the result as an *array*.  JSON EXPLAIN returns the result as a single (Json-formatted) *string* (not unlike SHOW ENGINE INNODB STATUS, btw).  But both should have exactly the same information - and if they don't it is a bug with JSON EXPLAIN in MySQL 5.6 IMO.

But as I am not well-versed in server internals, I could have ovelooked/misunderstood something, of course.

-- Peter

On Fri, Sep 28, 2012 at 5:18 PM, Peter Laursen <peter_laursen@webyog.com> wrote:
@wlad is completely right!

Workbench introduced a Visual Explain based on JSON EXPLAIN as Blogged here: http://www.arubin.org/blog/2012/09/26/mysql-visual-explain/

The very reason why JSON EXPLAIN was introduced in MySQL 5.6 could be that Oracle develops the server and tools (WB, Enterprirse Monitor primarily) in parallel.  Some recently introduced features in the server could be introduced for the primary reason that they should be 'exploited' by MEM and/or WB.  JSON EXPLAIN is one. Another example is the Performance_Schema table introduced in 5.6.6 (I don't remember the table name)  that records an 'aggregated summary' of queries' performance. Actually this table has about the same information as what MONyog 'Query Analyzer' module displays in its most simple display mode (but MONyog can be 'drilled down' to a more detailed view). 

So Oracle *thinks* the server and their most important tools *as a whole*, I think. We/Webyog cannot ignore this, as we compete with Oracle (SQLyog <-> WB, MONyog <-> MEM).  We have to consider to implement a more intuitive and advisory way of displaying EXPLAIN results (for non-expert users primarily of course). The JSON format is interesting for us in the context.

-- Peter





On Fri, Sep 28, 2012 at 4:50 PM, Vladislav Vaintroub <wlad@montyprogram.com> wrote:


> -----Original Message-----
> From: maria-discuss-
> bounces+wlad=montyprogram.com@lists.launchpad.net [mailto:maria-
> discuss-bounces+wlad=montyprogram.com@lists.launchpad.net] On Behalf
> Of Michael Widenius
> Sent: Freitag, 28. September 2012 16:04
> To: Peter Laursen; igor@askmonty.org; timour@askmonty.org;
> psergey@askmonty.org
> Cc: Maria Discuss; Maria Developers
> Subject: Re: [Maria-discuss] [Maria-developers] Json Explain
>
>
> For the moment we don't have a plan for that.
>
> The main reason is that the MariadB optimizer people don't like the
> implementation and we are not sure how useful the current output
> really is.
>

I guess json  is not for normal people to read , it is for programs to
analyze and ,for example, display in a visually pleasing fashion. I believe
this is the reason why Peter asks, and (I guess) the reason why Workbench
has visual explain feature now for 5.6+.
http://www.arubin.org/blog/2012/09/26/mysql-visual-explain/