SQL Developer SQL Tuning Advisor绑定变量是否为null?

时间:2017-09-18 18:51:23

标签: oracle oracle-sqldeveloper sql-tuning

在SQL Developer(v 4.1)中,当我尝试在带有一个或多个绑定变量的查询上运行SQL Tuning Advisor时,如果我将其中任何一个保留为null,则SQL Tuning Advisor不会显示任何信息所有。这是一个SQL Developer错误,还是我误解了关于空值,绑定和调优的东西?

这是一个简单的例子:

select * from dual where :p = 1;

突出显示查询并按Ctrl + F12,系统会提示您输入p的值。保留" NULL"选中复选框并单击"应用":

Enter Binds for p

SQL Tuning Advisor似乎立即退出运行并且没有显示查询的详细信息:

SQL Tuning Advisor showing empty Details

这是一个SQL Developer错误,还是我误解了有关空值,绑定和调优的内容?

1 个答案:

答案 0 :(得分:-1)

select * from dual where nvl(:p,-1) = 1;

WHERE子句中的任何null都会使所有布尔代数为NULL(FALSE)