Добрый день.
Есть таблица вида
ID - int, auto increment
A - char(8) DEFAULT NULL,
B - char(8) DEFAULT NULL
И два индекса на поля A и B.
В такой таблице запрос вида
SELECT count(*) from table WHERE A=xxx OR B=xxx
выполняется неадекватно долго, хотя EXPLAIN показывает, что все (вроде бы?) хорошо:
possible_keys: A,B
key: A,B
Extra: Using union(A,B); Using where
Если разбить этот запрос на два - они отрабатывают моментально, но по разным причинам мне это не подходит.
Вопрос заключается в следующем:
1. почему этот запрос так сильно тормозит?
2. можно ли не меняя запроса (не разбивая его на два) добиться нормального быстродействия?