MySQL 9.0 版本說明
使用單一鍵值的 OR
已進行良好最佳化,AND
的處理也是如此。
比較棘手的情況是搜尋兩個不同的鍵值,並使用 OR
結合
SELECT field1_index, field2_index FROM test_table
WHERE field1_index = '1' OR field2_index = '1'
這種情況已進行最佳化。請參閱 第 10.2.1.3 節,「索引合併最佳化」。
您也可以使用 UNION
有效率地解決此問題,它會合併兩個獨立 SELECT
陳述式的輸出。請參閱 第 15.2.18 節,「UNION 子句」。
每個 SELECT
只搜尋一個鍵值,並且可以進行最佳化
SELECT field1_index, field2_index
FROM test_table WHERE field1_index = '1'
UNION
SELECT field1_index, field2_index
FROM test_table WHERE field2_index = '1';