此查询需要 10 秒才能完成。但是当我手动执行子查询并将t1.id
限制更改为该列表时,它会在 0.00 秒内完成。我该怎么做才能让 MySQL 更快地执行查询?
SELECT t1.col1, t2.col2, t3.col3
FROM t1, t2, t3
WHERE t1.t2id = t2.id AND t1.t3id = t3.id
AND t1.id IN ( SELECT id FROM t4 WHERE blah = 123 )
另外,为什么会这样?我想 MySQL 在过滤 t1.id 之前以某种方式连接了所有三个表。
t1、t2 和 t3 分别包含 3000、15 和 80 行。子查询返回 2-10 行。