2010-04-20 14:07

MySQL 在做 JOIN 時對索引關連的小發現

當兩個 Table 在做 JOIN 時
如果在對應上有其他判斷式
便不會使用索引關連
  1. SELECT * FROM 
  2. a 
  3. INNER JOIN 
  4. b 
  5. ON a.id=b.id &&(b.num=a.num || b.num=0) 


當我將判斷式移到 WHERE 上去
在 ON 上留下有索引的鍵值對應
這樣的效率居然比原本的快兩倍
  1. SELECT * FROM 
  2. a 
  3. INNER JOIN 
  4. b 
  5. ON a.id=b.id 
  6. WHERE b.num=a.num || b.num=0 


結論就是:
在設定關連邏輯時,最好使用單純的鍵值對應