我在MYSQL查詢中有一個非常奇怪的情況。運行2個SQL查詢separatedelly他們是VEEEERY快速,運行2個SQL查詢只有一個,這基本上是一樣的東西,是VIGHTS SLOW!SQL命令重載服務器
當我執行以下命令它返回從我的數據庫10分的結果,需要4秒時:
SELECT a.id FROM aaa a, bbb b WHERE (a.id = 'XXX') OR (a.id = b.id) GROUP BY a.id ASC
下面的命令,這是與上述相同的,但沒有一個條件,則返回從我的數據庫1個結果並且需要0.003秒!
SELECT a.id FROM aaa a, bbb b WHERE (a.id = 'XXX') GROUP BY a.id ASC
的命令下面返回從我的數據庫9分的結果和需要0.0025秒:
SELECT a.id FROM aaa a, bbb b WHERE (a.id = b.id) GROUP BY a.id ASC
10 = 9 + 1所以一切正常。但爲什麼使用OR需要更多的時間?
使用INNER JOIN代替選擇多個表格 – techspider