【发布时间】:2016-07-16 01:42:45
【问题描述】:
我想创建一个基于函数的索引,以便在 oracle 11g 表的列中索引 NULL 值。
哪个性能更好:NVL2 还是 DECODE?
NVL2(nr.processed_datetime,'Y','N')
或DECODE(nr.processed_datetime,NULL,'N','Y')
【问题讨论】:
-
kordirko,您需要反转您的结果之一:
NVL2(null,2,1) -
您是否在您的环境中使用您的数据进行了测试?在我看来,性能上存在可衡量的差异似乎极不可能(假设您的查询都使用您索引的任何结构)。
-
索引构造比这两个函数重得多,因此您不太可能看到一些显着差异。至于我nvl2在这里更自然。
标签: oracle performance indexing oracle11g