关于查询语句中的in和exists的区别
的有关信息介绍如下:问题补充说明:谁来告诉我in和exists的区别,最好能举个例子,为什么一般exists的效率比in的高,他们的具体执行过程是怎么样的,请详述~~~~谢谢大侠们~~~
区别:in是关系运算符360问答,exists是相关子查就脸告王力章询。
exists的效率比in高的说法回约雷影组不正确,要看具体情况,尽可能利用索引。
例:设有两个表td(大表)和tx(小表),看下面的查询:
1、select*fromtdwhere升粒协妈colin(selectcolfromtx);--利用了td的索引
select*fromtdwhereexis席天担及飞ts(selectcolfromtxwherecol=td.col);--利用tab2的索引
结果:第一句效率高。
2、select*fromtxwherecolin(selectcolfromtd);--利用了tx的索引
sel一浓等层块图善益历令配ect*fromtxwhereexists(危简李全加selectcolfromtdwherecol=tx.col);--利用了td的索引
结果:第二句效率台自普书居拿高。