簡體   English   中英

SQL存儲過程中注釋的性能影響

[英]Performance Implications of Comments in SQL Stored Procedures

最近在我的日常工作中被告知,任何關於我們的存儲過程的注釋都不能存在於存儲過程中,而是必須使用擴展屬性。

在過去,我們使用過類似的東西。

/*
 * NOTE: Auto-Generated Procedure DO NOT MODIFY
 */
CREATE PROCEDURE dbo.MyProc
AS
SELECT *
FROM MyTable
GO

這樣,無論何時任何人在SSMS中打開過程,他們都會看到該注釋,其他注釋也存在於記錄我們過程的過程中。 現在我還沒有發現任何性能/內存問題。 但是,我們有個人堅持這樣做。

我無法找到任何文檔來證明或否認此類評論存在的性能和/或內存問題。

所以我的問題是,有沒有人知道任何可以證明或否認這一點的文件?

它會減慢存儲過程的編譯速度,但這不應該經常發生。

基本上這聽起來像嚇唬人。 考慮到有用的評論(適度),我會要求證據表明評論會影響績效。 這聽起來像是一個荒謬的政策。

(任何時候有人對性能提出要求都需要證據是一個很好的一般規則 - 特別是如果他們建議你為了所謂的性能增益而犧牲可讀性或其他一些正面屬性。)

文本(包括注釋)存儲在SQL 2005+的sys.sql_modules中。 所以它增加了系統表的大小。

在編譯以生成計划時,注釋將被忽略:它們是注釋。 就像任何合理的語言......?

但是,在某些情況下, 調試注釋顯然仍然可以解析並影響事物。

這是我剛才看到的,但卻駁回了它(並為此答案進行了搜索)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM