2

现在,我必须在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

谢谢

4

1 回答 1

0

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

oracle 查询中成本最高的部分将是连接和 where 子句指定的数据选择。你没有改变它。您返回的行数将是相同的。两个函数调用会导致每行返回的成本非常低,并且每行返回的数据略多,但与行选择相比,这可能可以忽略不计。

于 2012-05-30T07:02:59.773 回答