一尘不染

的mysql,ifnull vs合并,哪个更快?

mysql

如果知道只有两个值可以候选列的结果,

ifnull(a, b) as a_or_b_1

coalesce(a, b) as a_or_b_2

将给出相同的结果。但是哪个更快?搜索时,我发现了这篇文章,说 ifnull
更快。但这是我发现的唯一文章。有什么看法吗?

提前致谢 :)


阅读 235

收藏
2020-05-17

共1个答案

一尘不染

我的观点是您应该对使用情况进行基准测试。

我怀疑会有很大的不同。请记住,虽然一个基准可能暗示一个基准稍好一些,但随着时间的推移数据变化可能会改变结果。

还要注意,COALESCE自1992年以来就是标准SQL的一部分-我不确定IFNULL是否在任何标准中。

Adam Machanic有一篇不错的文章,介绍了对等效方案进行基准测试- 性能:ISNULL与COALESCE (在SQL
Server中)
。请注意有关获得有效测试的一些条件。

2020-05-17