具有相同值倍数的 IN 是否更慢? [英] Is IN with the multiple of the same values slower?

查看:31
本文介绍了具有相同值倍数的 IN 是否更慢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,这是否明显变慢了:

For example, is this noticeably slower:

DELETE FROM [table] WHERE [REOID] IN ( 1, 1, 1, 2, 2, 1, 3, 5)

比这个:

DELETE FROM [table] WHERE [REOID] IN ( 1, 2, 3, 4)

SQL Server 2008 R2.

SQL Server 2008 R2.

谢谢!

推荐答案

大多数引擎会在解析阶段消除常量 IN 列表中的重复项.

Most engines would eliminate duplicates in the constant IN list on parsing stage.

这样的查询会比使用非重复列表的查询稍微慢一点,会产生相同的计划,并且在大多数实际场景中,您几乎不会注意到任何区别.

Such a query would parse marginally slower than that with a non-duplicated list, will produce the same plan and with most real-world scenarios, you will hardly notice any difference.

这篇关于具有相同值倍数的 IN 是否更慢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆