我有兩個表A
和B
都非常大。我試圖做這樣的查詢,但它需要幾分鐘才能完成。表A
的索引爲name
,表B
的索引爲other_name
。MySQL查詢運行速度慢,在多個條件在哪裏
SELECT * FROM A
LEFT JOIN B ON A.id = B.id
WHERE A.name = 'text' OR B.other_name = 'text'
如果我使用UNION執行單個條件,則查詢運行速度非常快,如預期的那樣。
SELECT * FROM A
LEFT JOIN B ON A.id = B.id
WHERE A.name = 'text'
UNION
SELECT * FROM A
LEFT JOIN B ON A.id = B.id
WHERE B.other_name = 'text'
我不明白爲什麼第一次運行比第二次慢得多。