У меня есть таблица ссылок с from_uid
и to_uid
(оба проиндексированы), и я хочу отфильтровать определенные идентификаторы.Итак, я делаю:
SELECT l.uid
FROM Link l
JOIN filter_ids t1 ON l.from_uid = t1.id
JOIN filter_ids t2 ON l.to_uid = t2.id
Теперь по какой-то причине это неожиданно медленно :( тогда как каждое отдельное соединение очень быстрое. Разве оно не может использовать индекс правильно?
EXPLAIN
говорит мне:
id select table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index Null PRIMARY 34 Null 12205 Using index
1 SIMPLE l ref from_uid,to_uid from_uid 96 func 6 Using where
1 SIMPLE t2 index Null PRIMARY 34 Null 12205 Using where; Using index; Using join buffer