例如,这是否明显较慢:
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。
谢谢!
最佳答案
大多数引擎会在解析阶段消除常量 IN
列表中的重复项。
这样的查询的解析速度比非重复列表的查询稍慢,将产生相同的计划,并且在大多数现实场景中,您几乎不会注意到任何差异。
关于sql - IN 具有相同值的倍数是否较慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901238/