我经常听说,对于AWS Redshift,使用nvl
是次优的。使用case when X is null
优先于nvl
。我搜遍了它,对于ORACLE / SQL,性能相同,但这是Redshift特有的(甚至不是PostGres)。
例如:
不是最佳的;
select nvl(X,Y),Z from table1;
优选:
select case when X is null then Y else X end, Z from table1;
这个说法是否正确?请详细说明这一主张是否正确的原因。