如果知道一个列的结果只有两个候选值,
ifnull(a, b) as a_or_b_1和
coalesce(a, b) as a_or_b_2也会给出同样的结果。但哪个更快?在搜索时,我找到了this article,它说ifnull更快。但这是我发现的唯一一篇文章。对此有什么看法吗?
(预先谢谢:)
发布于 2011-01-20 14:11:26
我的观点是,您应该对您的使用进行基准测试。
我怀疑会有很大的不同。请记住,虽然单个基准可能表明一个基准稍微好一点,但随着时间的推移,数据的变化可能会改变这个结果。
还要注意的是,从1992年开始合并就成为标准SQL的一部分--我不确定IFNULL是否符合任何标准。
亚当·马查尼( Adam )写了一篇很好的文章,讲述了一个类似的场景-- (in SQL Server)。注意一些关于获得有效测试的条件。
https://stackoverflow.com/questions/4747877
复制相似问题