大家好,之前大都使用SQL Server.最近一個系統初次使用了My SQL,最近在做資料報表分析時,需要對2個Table(Table1:60筆資料 ; Table2:2千筆資料) 做Join查詢,結果執行了150秒左右結果才出來; 後來把一樣的資料搬到SQL Server,1秒就跑出來了。
後來問其他朋友,說My SQL的Join查詢效率很慢。
目前很多大型網站網站都用PHP+My SQL, 難道沒有大量資料join查詢的執行時間問題?
SELECT * FROM table1 LEFT JOIN table2 ON table1.column1=table2.column1 WHERE t1.column2=5;
SELECT * FROM table1, table2 WHERE table1.column2=5 AND table1.column1=table2.column1;
roxettei提到:
目前很多大型網站網站都用PHP+My SQL, 難道沒有大量資料join查詢的執行時間問題?
沒人回...我先拋磚引玉一下。
只有兩個table,資料兩千筆,只做一個join(聽您的描述應該是這樣?),150秒是個不可思議的數字...即使完全沒加primary key跟index,也不該這麼慢
建議您在查詢的sql前面多加一個explain,這樣會秀出你所下的sql的查詢計畫,可以看出哪裡有問題。