【发布时间】:2019-01-12 21:35:12
【问题描述】:
我有一个很大的 SQL 语句。
但我想测试 firsttable (T1) 上的 where 子句,然后在使用 where 子句选择的行上进行所有连接。
因为实际上查询很慢,导致MySQL将所有表join到t1,然后测试where子句!
SELECT * from FIRSTTABLE T1
LEFT JOIN T2 on (....)
LEFT JOIN T3 on (....)
WHERE T1.column = '1' OR T1.column= '5'
有什么想法吗?
【问题讨论】:
-
使用
explain找出您需要索引的位置 -
在查询优化问题中,您应该为查询中的每个表包含 SHOW CREATE TABLE
的输出。帮助我们帮助您——不要让我们猜测您当前拥有哪些索引和数据类型。还包括当前查询的 EXPLAIN。
标签: mysql sql query-optimization