MySQL 括号对性能有影响吗?
MySQL parenthesis performance impact?
假设我有一个这样的 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'
这会对查询产生性能影响吗?
这两个查询在语义上是等价的。使用或不使用括号应该不会对性能产生任何明显的影响。
不这么认为,只是时间差应该是编译器解码你的括号,它们将被编译成相同的二进制文件。
你可以运行大数据测试一探究竟。
假设我有一个这样的 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'
这会对查询产生性能影响吗?
这两个查询在语义上是等价的。使用或不使用括号应该不会对性能产生任何明显的影响。
不这么认为,只是时间差应该是编译器解码你的括号,它们将被编译成相同的二进制文件。
你可以运行大数据测试一探究竟。