2
我將MySQL數據庫從一個環境遷移到另一個環境,發現在遷移後,特定的查詢運行速度比以前慢得多。MySQL:爲什麼'explain'命令在同一個SQL語句中產生不同的結果?
我正在用'explain'關鍵字(下面)調查聲明,並發現'explain'命令在不同的服務器上給出不同的輸出。
explain select distinct j.job,f.path,p.path
from fixes f
join jobs j on f.job=j.id
join paths p on p.id =f.path
where p.path like '//depot1/Dev\-trunk/%' ;
對於原來的一個,它給:
1 SIMPLE p range PRIMARY,path path 752 **19** Using where; Using index; Using temporary
1 SIMPLE f ref path,job path 8 p.p.id **6448356**
1 SIMPLE j eq_ref PRIMARY PRIMARY 8 p.f.job **1**
而同樣的聲明產量在新的環境中不同的輸出:
1 SIMPLE j index PRIMARY job 62 **68486** Using index; Using temporary
1 SIMPLE f ref path,job job 8 p.j.id **812**
1 SIMPLE p eq_ref PRIMARY,path PRIMARY 8 p.f.path **1** Using where