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
来有效地解决该问题,该 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';