SQL存储过程中注释的性能影响

Mit*_*ers 16 sql sql-server performance stored-procedures

最近在我的日常工作中被告知,任何有关我们存储过程的注释都不得存在于存储过程中,而必须使用扩展属性.

在过去,我们使用过类似的东西.

/*
 * NOTE: Auto-Generated Procedure DO NOT MODIFY
 */
CREATE PROCEDURE dbo.MyProc
AS
SELECT *
FROM MyTable
GO
Run Code Online (Sandbox Code Playgroud)

这样,无论何时任何人在SSMS中打开过程,他们都会看到该注释,其他注释也存在于记录我们过程的过程中.现在我还没有发现任何性能/内存问题.但是,我们有个人坚持这样做.

我无法找到任何文档来证明或否认此类评论存在的性能和/或内存问题.

所以我的问题是,有没有人知道任何可以证明或否认这一点的文件?

Jon*_*eet 18

它会减慢存储过程的编译速度,但这不应该经常发生.

基本上这听起来像吓唬人.考虑到有用的评论(适度),我会要求证据表明评论会影响绩效.这听起来像是一个荒谬的政策.

(任何时候有人对性能提出要求都需要证据是一个很好的一般规则 - 特别是如果他们建议你为了所谓的性能增益而牺牲可读性或其他一些正面属性.)


gbn*_*gbn 5

文本(包括注释)存储在SQL 2005+的sys.sql_modules中.所以它增加了系统表的大小.

在编译以生成计划时,注释将被忽略:它们是注释.就像任何合理的语言......?

但是,在某些情况下,调试注释显然仍然可以解析并影响事物.

这是我刚才看到的,但却驳回了它(并为此答案进行了搜索).