????SQL优化--使用关联查询代替子查询 ? ?? 测试例子: ??? 子查询: ? ?? 执行结果: ? ?关联查询: ? 执行结果:?? ? ?? 这里:子查询IO次数:142334?+1589+366=144289 ???????????关联查询IO次数:1589?+366?=1922 ???????关联查询是子查询的75倍??? ? 总结: ? ???? 使用子查询和关联查询,一般情况下如果能用关联查询就不用子查询,SQL优化--使用关联查询代替子查询
(select?workflowname?from?workflowbase?where?id=workflowid)?workflowname
from??[[zping.com]]]?a
where?a.operator='402882ed1112669201112a8385892f33'
表?'Worktable'。扫描计数?360,逻辑读取?142334?次,物理读取?0?次,预读?0?次,lob?逻辑读取?0?次,lob?物理读取?0?次,lob?预读?0?次。
表?'workflowbase'。扫描计数?1,逻辑读取?1589?次,物理读取?0?次,预读?0?次,lob?逻辑读取?0?次,lob?物理读取?0?次,lob?预读?0?次。
表?'[zping.com]'。扫描计数?1,逻辑读取?366?次,物理读取?0?次,预读?0?次,lob?逻辑读取?0?次,lob?物理读取?0?次,lob?预读?0?次。
from??[[zping.com]]]?a?inner?join??workflowbase?b?on?a.workflowid=b.id
where?operator='402882ed1112669201112a8385892f33'
表?'Worktable'。扫描计数?0,逻辑读取?0?次,物理读取?0?次,预读?0?次,lob?逻辑读取?0?次,lob?物理读取?0?次,lob?预读?0?次。
表?'workflowbase'。扫描计数?1,逻辑读取?1589?次,物理读取?0?次,预读?0?次,lob?逻辑读取?0?次,lob?物理读取?0?次,lob?预读?0?次。
表?'[zping.com]'。扫描计数?1,逻辑读取?366?次,物理读取?0?次,预读?0?次,lob?逻辑读取?0?次,lob?物理读取?0?次,lob?预读?0?次。
详细解决方案
SQL优化-施用关联查询代替子查询
热度:95 发布时间:2016-05-05 14:55:51.0
select?a.*,
(360?行受影响)
select?a.*,b.workflowname
(360?行受影响)
相关解决方案