MySQL Tutorial / Examples of Common Queries / Searching on Two Keys
AnOR using a single key is well optimized, as is the handling ofAND.
The one tricky case is that of searching on two different keys combined withOR:
SELECT field1_index, field2_index FROM test_tableWHERE field1_index = '1' OR field2_index = '1'This case is optimized. SeeIndex Merge Optimization.
You can also solve the problem efficiently by using aUNION that combines the output of two separateSELECT statements. SeeUNION Clause.
EachSELECT searches only one key and can be optimized:
SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1'UNIONSELECT field1_index, field2_index FROM test_table WHERE field2_index = '1';