【问题标题】:mysql, ifnull vs coalesce, which is faster?mysql,ifnull vs coalesce,哪个更快?
【发布时间】:2011-06-12 11:36:21
【问题描述】:

如果已知列的结果只有两个候选值,

ifnull(a, b) as a_or_b_1

coalesce(a, b) as a_or_b_2

将给出相同的结果。但哪个更快?搜索时我找到了this article,它说 ifnull 更快。但这是我找到的唯一一篇文章。对此有何看法?

提前致谢:)

【问题讨论】:

  • 嗯,您确定这是您查询中最慢的部分吗? :-)

标签: mysql query-optimization


【解决方案1】:

我的观点是你应该为你的使用做基准。

我怀疑会有很大的不同。 请记住,虽然单一的基准可能表明某个基准稍好一些,但数据随时间的变化可能会改变该结果。

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

Adam Machanic 有一篇很好的文章,关于对等效场景进行基准测试 - Performance: ISNULL vs. COALESCE (in SQL Server)。请注意获得有效测试的一些附带条件。

【讨论】:

  • 链接已断开 - 还有其他主机吗?
  • 嗨,马克斯 - 谢谢!前段时间搬家了,更新了链接
猜你喜欢
  • 2013-07-23
  • 1970-01-01
  • 2011-06-01
  • 2013-03-31
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 2015-11-03
  • 2014-01-30
相关资源
最近更新 更多