我有以下查询:
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id = b.from OR a.id = b.to;
Run Code Online (Sandbox Code Playgroud)
这是非常缓慢的。
如果我删除 OR 子句并分别运行每个查询,那么这两个查询都会在 1 秒内执行。
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id = b.from;
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id = b.to;
Run Code Online (Sandbox Code Playgroud)
如何加速原始查询(设置索引)或重新设计查询本身?
使用联合怎么样?
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id=b.from
UNION
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id=b.to
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |