2013-03-08 98 views
0

我注意到,複雜的SQL語句逐漸吸引註釋就像開發代碼。例如 -註釋在SQL查詢中包含註釋時性能如何?

select 
    * 
from 
    table 
where 
    -- exclude 1 just because 
    key <> 1 

或者,多行註釋。

什麼是對性能的影響時,註釋包含在SQL查詢或者這只是過早的優化?我知道這取決於大小等,我可以測試自己,但仍然想問這個問題,隨時做出假設。我主要對MySQL感到好奇。

+2

默認爲不發送註釋到服務器:除非該配置選項更改http://dev.mysql.com/doc/refman/5.0/en/mysql-command-options.html#option_mysql_comments,或你使用的是舊版本的MySQL,這不是問題。 – bernie 2013-03-08 21:52:10

+2

是否有任何理由沒有測試過是否有性能問題?如果你不能產生顯着的性能影響,那就沒有一個。對於這樣的事情,測試是知道的唯一途徑。 – corsiKa 2013-03-08 21:58:20

+0

@bernie是不是隻爲mysql客戶端工具設置?假設任何連接器。 – 2013-03-08 22:26:53

回答

0

有一個性能命中,但相比實際運行查詢可以忽略不計。我在查找硬數據時遇到了問題,但大部分註釋都被忽略(除非它們是特定於版本的功能註釋)。

他們可以是非常有用的。例如,Facebook將在他們的MySQL查詢中添加PHP調用棧作爲註釋,以便他們可以輕鬆地知道查詢來自哪裏。