8.2.2. EXPLAIN Output Format基于以下SQL查询的连续优化提供了几个EXPLAIN示例:
EXPLAIN SELECT tt.TicketNumber, tt.TimeIn,
tt.ProjectReference, tt.EstimatedShipDate,
tt.ActualShipDate, tt.ClientID,
tt.ServiceCodes, tt.RepetitiveID,
tt.CurrentProcess, tt.CurrentDPPerson,
tt.RecordVolume, tt.DPPrinted, et.COUNTRY,
et_1.COUNTRY, do.CUSTNAME
FROM tt, et, et AS et_1, do
WHERE tt.SubmitTime IS NULL
AND tt.ActualPC = et.EMPLOYID
AND tt.AssignedPC = et_1.EMPLOYID
AND tt.ClientID = do.CUSTNMBR;
这是他们给出的第一个EXPLAIN:
table type possible_keys key key_len ref rows Extra
et ALL PRIMARY NULL NULL NULL 74
do ALL PRIMARY NULL NULL NULL 2135
et_1 ALL PRIMARY NULL NULL NULL 74
tt ALL AssignedPC, NULL NULL NULL 3872
ClientID,
ActualPC
Range checked for each record (index map: 0x23)
这是第二次(在进行优化之后):
table type possible_keys key key_len ref rows Extra
tt ALL AssignedPC, NULL NULL NULL 3872 Using
ClientID, where
ActualPC
do ALL PRIMARY NULL NULL NULL 2135
Range checked for each record (index map: 0x1)
et_1 ALL PRIMARY NULL NULL NULL 74
Range checked for each record (index map: 0x1)
et eq_ref PRIMARY PRIMARY 15 tt.ActualPC 1
我的问题是......订单代表什么?在第一个EXPLAIN中,et
列位于顶部。在第二个它在底部。这有什么特别的意义吗?可以从中得出任何推论吗?
答案 0 :(得分:1)
EXPLAIN returns a row of information for each table used in the SELECT statement.
It lists the tables in the output in the order that MySQL would read them while
processing the statement
所以我读到这就是说,在版本1中et
是第一个读表但在修改之后它不需要直到最后一个阶段。