如何找出未使用绑定变量的SQL
1个回答
展开全部
可以看到insert into test.......这条语句竟然在shared pool里面解析了1000次,通过如下查询
select sql_text from v$sqlarea where sql_text like 'insert into test %';找出具体的sql代码,然后与开发人员商量,更改SQL代码。
上面只是一个简单的实例,具体要怎么查看你的应用是否使用了绑定变量,只需要简单修改
select substr(sql_text,1,20), count(*)
from v$sqlarea
group by substr(sql_text,1,20) having count(*) > 50;
可以将substr(sql_text,1,20) 改为substr(sql_text,1,30)等等,可以 having count(*) > 10,20,100等等。
select sql_text from v$sqlarea where sql_text like 'insert into test %';找出具体的sql代码,然后与开发人员商量,更改SQL代码。
上面只是一个简单的实例,具体要怎么查看你的应用是否使用了绑定变量,只需要简单修改
select substr(sql_text,1,20), count(*)
from v$sqlarea
group by substr(sql_text,1,20) having count(*) > 50;
可以将substr(sql_text,1,20) 改为substr(sql_text,1,30)等等,可以 having count(*) > 10,20,100等等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询