作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我曾经写过这样的sql语句
select * from teacher where (TeacherID = @TeacherID) OR (@TeacherID = -1)
并传递 @TeacherID value = -1 以选择所有教师
现在我担心性能你能告诉我这是一种好的做法还是坏的做法吗?
非常感谢
最佳答案
如果 TeacherID
已建立索引,并且您传递 -1
以外的值作为 TeacherID
来搜索特定教师的详细信息,则此查询最终将进行全表扫描,而不是寻找索引来检索特定教师的详细信息的可能更有效的选项...
...除非您使用的是 SQL 2008 SP1 CU5 及更高版本并使用 OPTION (RECOMPILE)
提示。请参阅Dynamic Search Conditions in T-SQL有关该主题的权威文章。
关于sql - "where (ParamID = @ParamID) OR (@ParamID = -1)"是 sql 选择的一个好习惯吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9456391/
我是一名优秀的程序员,十分优秀!