MYSQL improve query performance when using OR I have a very simple MYSQL table with 2 columns and I run this query:

SELECT * FROM table WHERE (col1 = '123' AND col2 = '456')
                       OR (col1 = '456' AND col2 = '123')


Col1 and col2 are a composite primary key: PRIMARY KEY('col1','col2'). Each of both is also a foreign key for primary key in another table

When I ran the EXPLAIN command for the above query i got the following:

id  select_type  table  type    possible_keys   key key_len ref rows    Extra
1   SIMPLE       table  index   PRIMARY,col2    col2    8   NULL    1   Using where; Using index


The type in the above result is index which is very similar to All and so very likely to be slow on a large database. Is there a way to improve the above select command
What about using a union?


SELECT * FROM table WHERE (col1 = '123' AND col2 = '456')
UNION ALL
SELECT * FROM table WHERE (col1 = '456' AND col2 = '123')