3.6.7 两个键上搜索

在一个键上使用 OR 非常好优化, 就像是处理 AND 一样.

一个棘手的情况是在两个不同的键上使用 OR:

  1. SELECT field1_index, field2_index FROM test_table
  2. WHERE field1_index = '1' OR field2_index = '1'

这种情况优化过. 参阅 Section 8.2.1.3, “索引合并优化”.

你还可以使用 UNION 组合两个单独的 SELECT 语句的输出解决这个问题. 参阅 Section 13.2.10.3, “UNION 语法”.

每个 SELECT 只搜索一个键, 可以优化:

  1. SELECT field1_index, field2_index
  2. FROM test_table WHERE field1_index = '1'
  3. UNION
  4. SELECT field1_index, field2_index
  5. FROM test_table WHERE field2_index = '1';