![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
air s fee
文章平均质量分 60
feather_s_poetry
这个作者很懒,什么都没留下…
展开
-
CURSOR_SHARING,VERSION_COUNT和绑定变量,这里貌似关系到数据的version
CURSOR_SHARING:determines what kind of SQL statements can share the same cursors.cursor_sharing有三个值,默认的是exact,表示每条SQL精确匹配。force表示强制绑定类似的SQL。similar,当收集了柱状图的统计信息之后,对于不同的变量会从新解析,如果没有收集柱状图,similar就和for转载 2012-09-26 18:40:53 · 474 阅读 · 0 评论 -
ORACLE SQL执行步骤的进一步认识
以前理解的 ORACLE sql 的处理过程大致如下: 1.运用HASH算法,得到一个HASH值,这个值可以通过V$SQLAREA.HASH_VALUE 查看 2.到shared pool 中的 library cache 中查找是否有相同的HASH值,如果存在,则无需硬解析,进行软解析 3.如果shared pool不存在此HASH值,则进行语法检查,查看是否有语法错误 4.转载 2012-09-26 18:42:47 · 340 阅读 · 0 评论 -
Direct-Path Insert 直接路径加载,有没有必要,为什么
直接路径加载 直接路径加载表示绕过buffer cache,直接将数据写入表中。直接路径加载不会将数据写入HWM以下的数据块,而是在HWM之后写入数据,由于绕过了buffer cache,所以直接路径加载的时候性能好于常规路径加载。直接路径加载可以并行运行,也可以串行运行,既可以对分区表做直接路径加载,也可以对非分区表做直接路径加载。指定 APPEND hint就表示启用了直接路径加载转载 2012-09-26 18:47:21 · 409 阅读 · 0 评论 -
判断index是否被使用、监控它
从9i起,ORACLE提供了监控索引是否使用的功能,可以查看v$object_usage来观察索引是否被使用,不过查看这个视图之前需要打开索引的监控功能,使用如下命令可以打开索引监控功能 alter index schema.index_name monitoring usage;使用如下命令关闭索引监控alter index schema.index_name monitoring usag转载 2012-09-26 16:35:54 · 645 阅读 · 0 评论 -
buffer free waits等待事件,这里提到一致读CR,需继续
free buffer waits:当一个session试图将一个block读入buffer cache,或者由于读一致需要构造cr的block找不到free buffer而产生的等待。 SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name ='free buffer转载 2012-09-26 18:30:51 · 727 阅读 · 0 评论 -
recycle pool有没有必要
Document上说,对于访问频率不高的大表,可以将其放入 recycle pool ,以防止将 热点表挤出 default pool ,带来的性能损失。不过 我 对此 有疑问,既然有了 keep pool 可以将 热点表 cache 到 keep pool 中,另外由于大表的访问频率不高,我们 为某个大表设置了 recycle pool ,那么岂不是 浪费了 很大的 内存空间在SGA中,得转载 2012-09-26 18:36:25 · 377 阅读 · 0 评论 -
buffer cache的keep pool的过程及操作
如果某个表是热点表,经常被访问,就应该考虑将其放入 keep buffer cache.防止其被挤出default pool 。从而减少physical read所带来的I/O开销。默认的情况下 db_keep_cache_size=0,未启用,如果想要启用,需要手工设置db_keep_cache_size的值,设置了这个值之后db_cache_size 会减少。 并不是我们设置转载 2012-09-26 18:38:03 · 376 阅读 · 0 评论 -
如何找出应用程序未使用绑定变量,关于绑定变量的再次认识
SQL开发的过程中,如果不使用绑定变量,会对数据库性能造成非常严重的影响请看如下示例代码: begin for i in 1..1000 loop execute immediate 'insert into test values('||i||')'; end loop; commit; end; /该过程执行1000次,会解析1000次,我们知道转载 2012-09-26 18:46:09 · 405 阅读 · 0 评论