Oracle Nvl和to_char函数

时间:2012-05-30 06:38:06

标签: sql performance oracle

现在,我必须修改proc中的SQL,唯一的修改是在select子句中添加一个带有nvl和to_char函数的列,在where子句中没有修改。
我的问题是,这种修改会导致任何性能问题吗?

SQL演示如下:

原始SQL:

Select a.c1, b.c2 from a, b where a.c3=b.c4

修改后:

Select a.c1, b.c2, nvl(to_char(b.c5,'FM00000000'), '.       ') As c5 from a, b where a.c3=b.c4

由于

1 个答案:

答案 0 :(得分:0)

此更改不太可能导致显着的性能下降。

oracle查询中最昂贵的部分是选择join和where子句指定的数据。你没有改变它。您返回的行数将相同。由两个函数调用引起的每行返回的成本非常小,每行返回的数据略多,但与行选择相比,这可能是可以忽略的。