oracle hint
nocache
1,/*+ nocache(table) */
2,如果一个表进行全表扫描把这它放在buffer cache的lru(least recently used),这样就可以快速为其它更需要buffer cache的块free space
3,cache与nocache会影响v$sysstat有关table scan(long tables)和table scans(short tables)的统计值
4,347 long table scan,348 short table scan
5,每次添加cache运行后,348的值增加5,为何是加5而不是其它的值呢
添加nocache也同理,为何
SQL> select /*+ cache(t_append) */ a from t_append;
nocache
1,/*+ nocache(table) */
2,如果一个表进行全表扫描把这它放在buffer cache的lru(least recently used),这样就可以快速为其它更需要buffer cache的块free space
3,cache与nocache会影响v$sysstat有关table scan(long tables)和table scans(short tables)的统计值
4,347 long table scan,348 short table scan
5,每次添加cache运行后,348的值增加5,为何是加5而不是其它的值呢
添加nocache也同理,为何
SQL> select /*+ cache(t_append) */ a from t_append;
A
----------
1
1
1
----------
1
1
1
SQL> select * from v$sesstat where sid=70 and statistic# in(347,348);
SID STATISTIC# VALUE
---------- ---------- ----------
70 347 85
70 348 15
---------- ---------- ----------
70 347 85
70 348 15
SQL> select /*+ cache(t_append) */ a from t_append;
A
----------
1
1
1
----------
1
1
1
SQL> select * from v$sesstat where sid=70 and statistic# in(347,348);
SID STATISTIC# VALUE
---------- ---------- ----------
70 347 85
70 348 20
---------- ---------- ----------
70 347 85
70 348 20
SQL>
SQL> select * from v$sesstat where sid=70 and statistic# in(347,348);
SID STATISTIC# VALUE
---------- ---------- ----------
70 347 86
70 348 30
---------- ---------- ----------
70 347 86
70 348 30
SQL> select /*+ nocache(t_append) */ a from t_append;
A
----------
1
1
1
----------
1
1
1
SQL> select * from v$sesstat where sid=70 and statistic# in(347,348);
SID STATISTIC# VALUE
---------- ---------- ----------
70 347 86
70 348 35
---------- ---------- ----------
70 347 86
70 348 35
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-751383/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-751383/