Я пытаюсь отфильтровать таблицу отношений, чтобы получить подмножество таблицы, в которой выполняются два условия (т. Е. Я хочу, чтобы все идентификаторы записей, у которых color_ids, были 1 или 2). Это мощная таблица, поэтому я пытаюсь максимально ее оптимизировать.
Мне было интересно, может ли кто-нибудь объяснить мой вывод в этом случае:
Почему
SELECT DISTINCT a.id
FROM RelationshipTable as a
JOIN RelationshipTable as b ON b.id = a.id
WHERE a.color_id = 1
AND b.color_id = 2;
быстрее, чем
SELECT DISTINCT id
FROM RelationshipTable
WHERE color_id = 1
OR color_id = 2;
в MySql 4.1?
EXPLAIN
выполнили два запроса? - person Ian Henry   schedule 20.10.2010