您的位置:首页 > 数据库

比in效率更高的sql查询语句

2016-06-03 17:22 344 查看
很多时候用 exists是一个好的选择:

elect num from a where num in(select num from b)

用下面的语句替换:

select num from a where exists(select 1 from b where num=a.num)

SELECT SUM(T1.C1)FROM T1 WHERE( 

(SELECT COUNT(*)FROM T2 WHERE T2.C2=T1.C2>0) 

SELECT SUM(T1.C1) FROM T1WHERE EXISTS( 

SELECT * FROM T2 WHERE T2.C2=T1.C2) 

两者产生相同的结果,但是后者的效率显然要高于前者。因为后者不会产生大量锁定的表扫描或是索引扫

描。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: