MySQL 8.3 Release Notes
使用单个键的 OR
运算符是优化的,如同处理 AND
运算符也是如此。
唯一棘手的情况是使用 OR
运算符搜索两个不同的键:
Press CTRL+C to copySELECT 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
语句只搜索一个键,可以进行优化:
Press CTRL+C to copySELECT field1_index, field2_index FROM test_table WHERE field1_index = '1' UNION SELECT field1_index, field2_index FROM test_table WHERE field2_index = '1';