gpt4 book ai didi

sql - 当一个替代方案微不足道时,sql 'OR' 条件的性能影响?

转载 作者:行者123 更新时间:2023-12-03 16:34:42 26 4
gpt4 key购买 nike

我正在创建一个存储过程,用于根据用户输入的一些条件在我的数据库中搜索一些数据。

我的 sql 代码如下所示:

Create Procedure mySearchProc
(
@IDCriteria bigint=null,
...
@MaxDateCriteria datetime=null
)
as
select Col1,...,Coln from MyTable
where (@IDCriteria is null or ID=@IDCriteria)
...
and (@MaxDateCriteria is null or Date<@MaxDateCriteria)

编辑:我有大约 20 个可能的参数,并且 n 个非空参数的每种组合都可能发生。

编写这种代码在性能方面是否可以? (我使用的是 MS SQL Server 2008)

生成仅包含所需 where 子句的 SQL 代码会不会明显更快?

最佳答案

OR 子句因导致性能问题而臭名昭著,主要是因为它们需要表扫描。如果您可以在不使用 OR 的情况下编写查询,您会过得更好。

关于sql - 当一个替代方案微不足道时,sql 'OR' 条件的性能影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/582940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com