今天在寫MySQL時,發現條件比較寬時會出現撈資料撈到SERVER沒回應
便有點好奇WHERE先後順序和配對會不會影響效能?
Table A和B大概都是有幾千比的資料
兩著的關聯是由一個可能為空白(不是null)的值
在下了指令
SELECT * FROM A
LEFT JOIN (SELECT * FROM B WHERE A.name like '%k%' ORDER BY x) B
ON A.key=B.key
WHERE (A.key like '%k%' OR B.key like '%k%')
然後就執行到沒回應了,
猜想用括號括起來是不是會先JOIN 再做條件
要是如果改下
WHERE A.key like '%k%' OR B.key like '%k%'
會不會先把A做飾選後再去JOIN飾選後的B?
另外
WHERE (A.key like '%k%' OR B.key like '%k%') AND (A.id = n OR B.id)
跟
WHERE A.key like '%k%' OR B.key like '%k%' AND A.id = n OR B.id
應該是不一樣結果的吧?