【发布时间】:2017-02-28 19:26:46
【问题描述】:
我在 Visual Studio 解决方案中有两个 SQL Server 数据库项目。其中之一是一个遗留数据库,我只是在我的主数据库项目中使用数据库引用。我在我的主数据库项目中有一个类似于
的视图SELECT *
FROM [$(ReferenceDb)].[dbo].[Table1] t
WHERE t.IndexedColumnId IN (1, 55, 99)
我来了
SR0004:Microsoft.Rules.Data:没有使用索引的列 作为 IN 谓词测试表达式可能会降低性能。
参考数据库在该列上有一个索引。请注意,这是用于演示目的的简化代码。我实际上将参考数据库中的表加入到我的主数据库中的表中。如果我将这个简单的代码移到参考数据库项目中,我不会收到任何警告。主数据库项目似乎没有使用参考数据库中的索引。
我想做的是抑制这个警告;但我不想为整个主数据库项目这样做。我只想对某些 SQL 视图/存储过程等禁用它。
我正在寻找类似于 C# 文件中可用的警告的源内抑制功能。
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "args")]
但我需要能够在主数据库项目的 .sql 文件中执行此操作。
我曾讨论过关闭整个项目的警告,但真的不想走那条路。
对这个问题有什么建议吗?
【问题讨论】:
标签: sql visual-studio database-project