2009-03-30 42 views
15

Gần đây tại công việc ngày của tôi đã được hướng dẫn rằng bất kỳ nhận xét nào về các thủ tục lưu sẵn PHẢI KHÔNG tồn tại bên trong thủ tục lưu sẵn và sử dụng các thuộc tính mở rộng.Ý nghĩa hiệu suất của các chú thích trong thủ tục lưu sẵn SQL

Trong quá khứ, chúng tôi đã sử dụng một cái gì đó như thế này.

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

Bằng cách này bất cứ khi nào ai đó mở thủ tục trong SSMS, họ sẽ thấy ghi chú, các nhận xét khác cũng tồn tại trong thủ tục ghi lại quy trình của chúng tôi. Bây giờ tôi đã không nhận thức được bất kỳ vấn đề hiệu suất/bộ nhớ với điều này. Tuy nhiên, chúng tôi có những cá nhân nhấn mạnh nó.

Tôi chưa thể tìm thấy bất kỳ tài liệu nào để chứng minh hoặc từ chối sự tồn tại của các vấn đề hiệu suất và/hoặc bộ nhớ với loại nhận xét này.

Vì vậy, câu hỏi của tôi là, có ai biết bất kỳ tài liệu nào có thể chứng minh hoặc từ chối điều này không?

Trả lời

18

Nó sẽ làm chậm quá trình biên dịch thủ tục được lưu trữ chỉ một chút nhỏ và điều đó không nên xảy ra thường xuyên.

Về cơ bản, điều này nghe có vẻ như sợ hãi. Cho ý kiến ​​hữu ích như thế nào (có thể kiểm duyệt) tôi sẽ yêu cầu bằng chứng rằng các nhận xét làm giảm hiệu suất. Nghe có vẻ như một chính sách vô lý đối với tôi.

(bằng chứng Đòi hỏi bất cứ lúc nào ai đó làm cho tuyên bố về hiệu suất là một vị tướng cai trị tốt -. đặc biệt nếu họ đang đề xuất mà bạn hy sinh khả năng đọc hoặc một số thuộc tính tích cực khác vì lợi ích của hiệu suất đạt được cho là) ​​

+0

Tôi đồng ý, thật đáng buồn trong trường hợp của tôi, tôi chịu trách nhiệm cung cấp tài liệu cho rằng họ sai… –

5

Văn bản (bao gồm cả bình luận) được lưu trữ trong sys.sql_modules trong SQL 2005+. Vì vậy, nó thêm vào kích thước bảng hệ thống.

Khi biên dịch để tạo kế hoạch, các nhận xét bị bỏ qua: chúng là các nhận xét. Cũng giống như bất kỳ ngôn ngữ hợp lý ...?

Tuy nhiên, trong một số trường hợp, debug comments dường như vẫn có thể được phân tích cú pháp và ảnh hưởng đến mọi thứ.

Đây là điều tôi đã thấy trước đây nhưng đã loại bỏ nó (và tìm kiếm nó cho câu trả lời này).

Các vấn đề liên quan