Just like this example, I cannot even tell the join ordering from it. And what does "ALL" and "ref" in the table mean? Is there any manual about the visual explain?
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It only takes a minute to sign up.Sign up to join this community
ref evidently means a keyed lookup because the definition of
ref in EXPLAIN is
The ref column shows which columns or constants are compared to the index named in the key column to select rows from the table.
ALL, my guess is that refers to a full table scan because the same URL says
A full table scan is done for each combination of rows from the previous tables. This is normally not good if the table is the first table not marked const, and usually very bad in all other cases. Normally, you can avoid ALL by adding indexes that enable row retrieval from the table based on constant values or column values from earlier tables.
In all honesty, I cannot tell what the
ORDER BY is. You should try comparing that graph above to the text-based output from one of these:
and see if the JOIN ordering makes sense there.
Join ordering is left to right. That is, in the above example a nested-loop join is performed by a full table scan of CUSTOMER followed by index look-ups into ORDERS and LINEITEM. (The meaning of ALL and ref are defined in the user manual for traditional EXPLAIN.)
Note that Visual EXPLAIN is significantly updated in MySQL Workbench 6.1 including more descriptive text for the table operations.