使用单个键的 OR 得到了很好的优化,AND 的处理也是如此。

    一个棘手的情况是搜索结合 OR 的两个不同的键:

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

    本案例优化。

    您还可以通过使用结合了两个单独的 SELECT 语句的输出的 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';