Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon redshift 哪个性能更好:NVL还是X为空表示红移的情况_Amazon Redshift - Fatal编程技术网

Amazon redshift 哪个性能更好:NVL还是X为空表示红移的情况

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; 这个说法正确吗?请详细说明此声明是否正确的原因。我不知道这个具体案例,

我经常听说,对于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;


这个说法正确吗?请详细说明此声明是否正确的原因。

我不知道这个具体案例,但一般来说,这可能与sargability有关。使用解释分析涉及nvl和等效using case语句的查询,并在中检查输出