简单分析shared pool(二) (r3笔记48天)
发布日期:2021-06-30 13:29:41 浏览次数:3 分类:技术文章

本文共 1212 字,大约阅读时间需要 4 分钟。

对于shared pool的学习,发现越尝试去了解,发现自己对它越不了解。里面的东西很杂。shared pool的大小设置shared pool的sub pool

1* select a.ksppinm,b.ksppstvl from x$ksppi a,x$ksppsv b where a.indx=b.indx and a.ksppinm='_kghdsidx_count'

KSPPINM KSPPSTVL

关于绑定变量和硬解析

SQL> alter system flush shared_pool;

System altered.

SQL> variable name varchar2(100);

PL/SQL procedure successfully completed.

SQL> select *from test_var where name=:name;

ID NAME

SQL_ID HASH_VALUE ADDRESS CHILD_ADDRESS

SQL> col sql_text format a50

SQL_TEXT VERSION_COUNT

然后再来赋另外一个值,看看version_count会不会递增。

SQL> exec :name:='bbb';

PL/SQL procedure successfully completed.

SQL> select *from test_var where name=:name;

ID NAME

SQL> col sql_text format a50

SQL_ID HASH_VALUE ADDRESS CHILD_ADDRESS

SQL>

SQL_TEXT VERSION_COUNT 1

可以看到,没有任何的变化,说明绑定变量起作用了,没用再次硬解析。

SQL> variable name char(3);

PL/SQL procedure successfully completed.

SQL> select *from test_var where name=:name;

ID NAME

SQL> select sql_text,version_count from v$sqlarea where sql_id='3vm96qwzm0mg2'

SQL_TEXT VERSION_COUNT 2

SQL> select sql_id,hash_value,address,child_address from v$sql where sql_text like 'select *from test_var%';

SQL_ID HASH_VALUE ADDRESS CHILD_ADDRESS0000000069764850000000006A039F40

不同之处就是child_address,说明走了两次硬解析。

转载地址:https://jeanron100.blog.csdn.net/article/details/102506936 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:数据库静默安装总结(r3笔记第58天)
下一篇:关于降低高水位线的尝试(r3笔记47天)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月20日 02时49分12秒