是“其中(ParamID = @ParamID)OR(@ParamID = -1)”一个很好的做法在sql选择
发布时间:2020-05-28 00:00:16 所属栏目:MsSql 来源:互联网
导读:我曾经写过sql语句 select * from teacher where (TeacherID = @TeacherID) OR (@TeacherID = -1) read more 并通过@TeacherID值= -1来选择所有教师 现在我担心演出了 你能告诉我是一个好的做法还是坏的? 非常感谢 如果TeacherID被编入索引,并且您传递的值不
|
我曾经写过sql语句 select * from teacher where (TeacherID = @TeacherID) OR (@TeacherID = -1) read more 并通过@TeacherID值= -1来选择所有教师 现在我担心演出了 非常感谢 解决方法如果TeacherID被编入索引,并且您传递的值不是-1作为TeacherID来搜索特定教师的详细信息,则此查询将最终完成全表扫描,而不是寻求索引检索的潜在更有效的选项具体教师的细节……除非您使用SQL 2008 SP1 CU5及更高版本,并使用OPTION(RECOMPILE)提示.请参阅Dynamic Search Conditions in T-SQL有关该主题的最终文章. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
