EXISTS 在SQL 中的用法
2012-02-27 23:07
267 查看
Exists在sql server 中是重要的关键字,可以使得一些查询的效率更高。
在项目中遇见到查询有报价的地区信息和查询没有报价的地区信息,当时我用了INNER JOIN来实现,发现当数据量达到千万级后效率很差,后改为Exists关键字实现,效率提高不少。
查询有报价的地区信息:
Update INSERT
在项目中遇见到查询有报价的地区信息和查询没有报价的地区信息,当时我用了INNER JOIN来实现,发现当数据量达到千万级后效率很差,后改为Exists关键字实现,效率提高不少。
查询有报价的地区信息:
Update INSERT
CREATE TYPE Ty_PriceSubMitList AS TABLE( AreaID INT, TypeID INT, UNID INT ) declare @dt Ty_PriceSubMitList; INSERT INTO @dt VALUES(1,1,148); INSERT INTO @dt VALUES(1,2,148); INSERT INTO @dt VALUES(1,3,148); INSERT INTO @dt VALUES(1,5,148); INSERT INTO @dt VALUES(1,6,1706); INSERT INTO @dt VALUES(2,1,148); INSERT INTO @dt VALUES(2,6,148); UPDATE pp SET pp.UpdateTime= GETDATE() FROM PriceSubmitList pp,@dt tt WHERE pp.AreaId = tt.AreaID AND pp.TypeId = tt.TypeID AND pp.UNID = tt.UNID; INSERT INTO PriceSubmitList(AreaId,TypeId,UNID,UpdateTime) SELECT AreaId,TypeId,UNID,GETDATE() FROM @dt tt WHERE NOT EXISTS(SELECT 0 FROM PriceSubmitList pp WHERE pp.AreaId = tt.AreaId AND pp.TypeId=tt.TypeID AND pp.UNID=tt.UNID)
相关文章推荐
- sql的 exists 的用法实例--至少语法不错
- SQL中IN和EXISTS用法的区别
- SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
- SQL语句中exists/not exists的用法分析
- SQL中IN和EXISTS用法的区别
- sql中exists,not exists的用法
- SQL中IN和EXISTS用法的区别
- SQL中EXISTS的用法
- SQL中EXISTS的用法
- sql中exists和not exists的用法
- SQL中IN和EXISTS用法的区别
- SQL中EXISTS的用法
- sql语句中exists和in用法的区分
- SQL中EXISTS的用法
- SQL中EXISTS的用法
- sql中exists,not exists的用法
- SQL中Exists的用法
- SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
- sql中in,exists的用法与区别
- SQL中IN和EXISTS用法的区别