Есть простая таблица id/varchar(50) с уникальным индексом по varchar.
Когда делаю 1 запрос:
EXPLAIN
SELECT `id`
FROM `tab`
WHERE `name` IN ('test1')
EXPLAIN показывает, что обрабатывает 1 строку, как и должно быть, т.е. находит ее по уникальному индексу и выводит id.
Когда делаю 2 запрос:
EXPLAIN
SELECT `id`
FROM `tab`
WHERE `name` IN ('test1','test2')
EXPLAIN показывает, что обрабатывает все строки! Почему так, почему не прыгает два раза по индексу, почему все их читает?
Я так понял тут надо два простых запроса делать типа 1 и объединять UNION. Правильно ли понял.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.