问题
问题
问题: 和 哪个快
有许多人认为用 Exists 总比用 In 要快 , 这是一个误区。有时用 in 反而比
用 Exists 快。
有两个简单例子,以说明 “ exists” 和“ in” 的效率问题
!"#$ !%"#
&'%&(
% !"#&$%& !%(
T1 数据量小而 T2 数据量非常大时, T1<<T2 时, 1) 的查询效率高。
T1 数据量非常大而 T2 数据量小时, T1>>T2 时, 2) 的查询效率高。
区别:
IN: 首先执行子查询,由子查询来驱动父查询。
Exists: 由父查询来驱动子查询。
所以如果子查询小的话,采用 in 会快一些 ; 如果子查询大的话,采用
exists 会快一些。
结论:简单的说哪个 效率高,是没有意义的,要根据情况具体分
析。
介绍完 Optimizer 后,我会进一步说明 Exists 和 In 的区别和效率问题。
评论0
最新资源