使用单个键的 OR 已经非常优化,AND 的处理也是如此。An OR using a single key is well
optimized, as is the handling of
AND.
一个棘手的情况是使用 OR 结合两个不同键的搜索:The one tricky case is that of searching on two different keys
combined with OR:
SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1' OR field2_index = '1'
这种情况已经优化。请参见 第 10.2.1.3 节,“索引合并优化”。This case is optimized. See Section 10.2.1.3, “Index Merge Optimization”.
你也可以通过使用一个 UNION 来高效地解决问题,它可以将两个单独的 SELECT 语句的输出合并。参见 第 15.2.18 节,“UNION 子句”。You can also solve the problem efficiently by using a
UNION that combines the output of
two separate SELECT statements.
See Section 15.2.18, “UNION Clause”.
每个 SELECT 只搜索一个键,并且可以进行优化:Each SELECT searches only one key
and can be optimized:
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';