sql优化-使用exists代替distinct

Posted 月图灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql优化-使用exists代替distinct相关的知识,希望对你有一定的参考价值。

and c_ajbh in (select distinct c_ajbh from db_zxzhld.t_zhld_zbajxx where n_dbzt = 1 and c_zblx = \'1003\' and c_gy = \'2550\' )
改写为:
and exists (select c_ajbh from db_zxzhld.t_zhld_zbajxx where n_dbzt = 1 and c_zblx = \'1003\' and c_gy = \'2550\' )

一旦满足条件则立刻返回。所以使用exists的时候子查询可以直接去掉distinct。从执行计划来看使用exists可以消除分组,提高效率。

以上是关于sql优化-使用exists代替distinct的主要内容,如果未能解决你的问题,请参考以下文章

SQL优化--使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划

SQL 优化记录

sql面试题_SQl优化技巧_1注意通配符中like的使用,百分号放后面_2避免在where子句中对字段进行函数操作_3在子查询当中,尽量用exists代替in_4where子句中尽量不要使用(代码片

sql优化的几个注意点

用exists代替in真的好么?

用exists代替in真的好么?