实测:SQLServer中in和exists哪个效率高?

本文将实际测量SQLServer在GPOSDB、SQLServer2005、Windows7的测试环境上的效率。
测试条件是在CT_InhouseCard表中查找与CT_FuelingData表中的VC_IC_CardNO字段匹配的记录。
应该注意的是,多个条件下的效率很难比较,因为每个条件都不同。
具体测试包括:1.SQLIN语句中包含IN和NOTIN2.SQLIN语句中包含NOTEXISTS,其中NOT、<>、NOTIN、NOTIN等非SARG运算符以及内部函数可能会影响使用。
指数。
测试正文如下:首先更新两张表的统计信息,保证测试的公平性。
测试结果表明,IN语句和EXISTS语句在执行时间和I/O操作上差异不大。
执行计划显示两条SQL语句都使用有效的半连接。
总之,IN语句和EXISTS语句在此测试中显示出相似的效率。
如果您有任何疑问或错误,请随时讨论。

sql查询有什么能替代in

in会影响SQL性能,因为它将被解释为or,这将放弃索引的使用。
如果数据量很大,不想用IN,可以直接用“>”和“<”从逻辑上找出IN中数据之间的关系。