天天看點

mysql extra 為空_mysql – 運作EXPLAIN時,如果key的字段值不為null但Extra為空,是否使用了密鑰?...

在沒有索引的情況下運作此EXPLAIN查詢時

EXPLAIN SELECT exec_date,

100 * SUM(CASE WHEN cached = 'no' THEN 1 ELSE 0 END) / SUM(1) cached_no,

100 * SUM(CASE WHEN cached != 'no' THEN 1 ELSE 0 END) / SUM(1) cached_yes

FROM requests

GROUP BY exec_date

這是輸出

id select_type table type possible_keys key key_len ref rows Extra

1 SIMPLE requests ALL NULL NULL NULL NULL 478619 Using temporary; Using filesort

如果我建立索引

ALTER TABLE requests ADD INDEX exec_date(exec_date);

輸出是

id select_type table type possible_keys key key_len ref rows Extra

1 SIMPLE requests index NULL exec_date 4 NULL 497847

由于Extra的值為空,這是否意味着關鍵exec_date未被使用?

在測試伺服器上,使用和不使用索引的實際(不是EXPLAIN語句)查詢的執行時間是相同的.