首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个更快,还是还是?

哪个更快,还是还是?
EN

Stack Overflow用户
提问于 2009-07-13 14:32:25
回答 9查看 2.5K关注 0票数 7

在T-SQL中,哪个更快?

代码语言:javascript
复制
DELETE * FROM ... WHERE A IN (x,y,z)

代码语言:javascript
复制
DELETE * FROM ... WHERE A = x OR A = y OR A = z

在我的示例中,x、y和z是存储过程的输入参数。我也在尽力让我的DELETE和INSERT语句发挥出我的能力。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-07-13 14:36:56

"IN“将被转换为一系列的"OR"s...if你看一下带有"IN”的查询的执行计划,你会看到它已经展开了。

在我看来,使用" in“要干净得多,特别是在更大的查询中,它使它更具可读性。

票数 12
EN

Stack Overflow用户

发布于 2009-07-13 14:37:05

不思考;配置文件。

我强烈建议您在考虑速度问题时,不要依赖于您或其他任何人的直觉。相反,尝试这两个选项,并进行某种性能分析/运行时度量,找出在您的环境中哪一个更快。

票数 14
EN

Stack Overflow用户

发布于 2009-07-13 14:37:29

在测试服务器上编写两个存储过程,一个使用IN,另一个使用OR。运行每个过程10,000次(或1,000,000次,等等),并比较计时。

一般来说,对于哪种方法更快的问题,这几乎是“唯一”的回答:编写简单的计时测试用例,并多次运行它们。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1119801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档