2015-05-05 137 views
1

說我有一個MySQL查詢像這樣:MySQL括號性能影響?

SELECT id, 
     something, 
     CASE colour 
      WHEN 1 THEN 'not ripe' 
      WHEN 2 THEN 'ripe' 
      ELSE 'rotten' 
     END AS 'ripeness' 
FROM fruit 
WHERE fruit_type = 'apple' 

如果我在括號包裹CASE因爲我覺得這樣更易於閱讀:

SELECT id, 
     something, 
     (CASE colour 
      WHEN 1 THEN 'not ripe' 
      WHEN 2 THEN 'ripe' 
      ELSE 'rotten' 
     END) AS 'ripeness' 
FROM fruit 
WHERE fruit_type = 'apple' 

將是對查詢性能產生影響?

回答

2

這兩個查詢在語義上都是等價的。使用或不使用括號不應該有任何明顯的性能影響。

+0

很酷謝謝你。有沒有最佳做法使用或不使用括號? – JohnnyFaldo

+0

@JohnnyFaldo這是一個品味的問題,真的。就我個人而言,我不喜歡這些括號,但我有同事誰發誓。 – Mureinik

+0

取決於你的編碼風格,基本上使代碼很好,易於閱讀。 –

1

不這麼認爲,只有時差應該是編譯器解碼你的括號,它們會被編譯成相同的二進制。

您可以運行大數據測試來查明。