2015-05-05 236 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

不这么认为,只有时差应该是编译器解码你的括号,它们会被编译成相同的二进制。

您可以运行大数据测试来查明。