### 3.6.7 Searching on Two Keys

[]()[]()[]()[]()

 An [`OR`](logical-operators.html#operator_or) using a single key is well optimized, as is the handling of [`AND`](logical-operators.html#operator_and).

 The one tricky case is that of searching on two different keys combined with [`OR`](logical-operators.html#operator_or):

```
SELECT field1_index, field2_index FROM test_table
WHERE field1_index = '1' OR  field2_index = '1'
```

 This case is optimized. See [Section 8.2.1.3, “Index Merge Optimization”](index-merge-optimization.html).

 You can also solve the problem efficiently by using a [`UNION`](union.html) that combines the output of two separate [`SELECT`](select.html) statements. See [Section 13.2.10.3, “UNION Clause”](union.html).

 Each [`SELECT`](select.html) 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';
```

