我有一个表[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] )
Run Code Online (Sandbox Code Playgroud)
我注意到第一个查询是使用Index Seek(NonClustered),第二个查询是使用Index Scan(Non Clustered).我可以知道如何利用coalesce或isnull来使用索引搜索?