1. 共享 SQL 作用
SQL 在共享之后,就可以减少硬解析,硬解析会消耗很多资源。
2. 共享 SQL 概念
共享 SQL 是让 SQL 完全 相同。这样在 SQL 解析执行计划途中,会减少硬解析,更多的硬解析。
这里的 “完全”是指 SQL 语句必须一模一样,差一点都不行!多个空格、回车、大小写等等,都要求一样。
3. 为了实现 SQL 的共享,我们需要
(1) 统一书写风格
(2) 使用绑定变量(占位符)
4. 找出没有共享的 SQL 语句
在 v$sql 中查询执行次数较小的 sql 语句。观察这些 sql 语句是否是经常执行的。
SQL> select SQL_FULLTEXT from v$sql where EXECUTIONS=1 order by sql_text;
5. 解析命中率
命中率反应的是软解析命中的效率。通常命中率为 99% 以上。要是命中率为 98% 一下,说明命中率就比较差。
SQL> select sum(pinhits)/sum(pins)*100 from v$librarycache;
SQL> select sum(gets), sum(getmisses), 100*sum(gets-getmisses)/sum(gets) from v$rowcache where gets>0;
----------------- end ------------------