gpt4 book ai didi

sql-server - 合并索引查找

转载 作者:行者123 更新时间:2023-12-03 14:43:17 25 4
gpt4 key购买 nike

我有一个表 [MyTable],其中有一列 [MyColumn] NVarchar(50)。我在此列上有一个非聚集索引,现在在运行以下两个查询时:

SELECT  1
FROM [MyTable] M
WHERE M.[MyColumn] = @MyColumn

SELECT 1
FROM [MyTable] M
WHERE M.[MyColumn] = COALESCE(@MyColumn, M.[MyColumn] )

我注意到第一个查询使用索引查找(非集群),第二个使用索引扫描(非集群)。我可以知道我将如何使用 coalesce 或 isnull 的索引查找吗?

最佳答案

May I know how will I make use of index seek with coalesce or isnull ?



也许不是您问题的答案,但您可以有两个不同的查询。一种用于 @MyColumn is null 的情况一种用于您要使用的情况 @MyColumn在 where 子句中。
IF @MyColumn IS NULL
BEGIN
SELECT 1
FROM [MyTable] M
END
ELSE
BEGIN
SELECT 1
FROM [MyTable] M
WHERE M.[MyColumn] = @MyColumn
END

关于sql-server - 合并索引查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6186732/

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