- 最后登录
- 2014-8-21
- 在线时间
- 26 小时
- 威望
- 47
- 金钱
- 186
- 注册时间
- 2011-12-21
- 阅读权限
- 10
- 帖子
- 34
- 精华
- 0
- 积分
- 47
- UID
- 117
|
1#
发表于 2012-6-21 10:12:09
|
查看: 3016 |
回复: 0
客户又一套数据库绑定变量做的很差,检查后通过语句:
SQL> select * from (select sql_text,row_number() over(partition by FORCE_MATCHING_SIGNATURE order by FORCE_MATCHING_SIGNATURE) rn
2 from v$sql where FORCE_MATCHING_SIGNATURE >0 and FORCE_MATCHING_SIGNATURE !=EXACT_MATCHING_SIGNATURE) where rn>50;
查到大量的没有做绑定变量的语句,语句基本都是查询语句:
SQL_TEXT RN
--------------------------------------------------------------------------- ---------------
select roleid,rolelevel from hrmrolemembers where resourceid=1468 51
select roleid,rolelevel from hrmrolemembers where resourceid=4480 52
select roleid,rolelevel from hrmrolemembers where resourceid=897
53
类似以上语句达到1530条
通过查询ASH生成文件中的
Top SQL using literals 只发现很少一部分sql,而且sql基本比较复杂 但是Top SQL using literals中的sql在我的select * from (select sql_text,row_number() over(partition by FORCE_MATCHING_SIGNATURE order by FORCE_MATCHING_SIGNATURE) rn
2 from v$sql where FORCE_MATCHING_SIGNATURE >0 and FORCE_MATCHING_SIGNATURE !=EXACT_MATCHING_SIGNATURE) where rn>50;查询的结果中并没有发现
问题:
ASH中的Top SQL using literals模块中的内容应该是怎么理解的,每个字段是什么意思?
ASH的结果集和v$sql中的查询不能对应的么? |
|