Amazon redshift 哪个性能更好:NVL还是X为空表示红移的情况
我经常听说,对于AWS红移,使用Amazon redshift 哪个性能更好:NVL还是X为空表示红移的情况,amazon-redshift,Amazon Redshift,我经常听说,对于AWS红移,使用nvl是次优的。当X为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; 这个说法正确吗?请详细说明此声明是否正确的原因。我不知道这个具体案例,
nvl
是次优的。当X为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;
这个说法正确吗?请详细说明此声明是否正确的原因。我不知道这个具体案例,但一般来说,这可能与sargability有关。使用解释分析涉及nvl和等效using case语句的查询,并在中检查输出