oracle hint_cache_nocache

wisdomone1發表於2012-12-20
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;
         A
----------
         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
SQL> select /*+ cache(t_append) */ a from t_append;
         A
----------
         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
SQL>
SQL> select * from v$sesstat where sid=70 and statistic# in(347,348);
       SID STATISTIC#      VALUE
---------- ---------- ----------
        70        347         86
        70        348         30
SQL> select /*+ nocache(t_append) */ a from t_append;
         A
----------
         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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-751383/,如需轉載,請註明出處,否則將追究法律責任。

相關文章