国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle中Cache表的使用

2024-08-29 13:03:48
字體:
來源:轉載
供稿:網友

 一、對于普通表的cache方法:

    SQL> conn test/test 已連接。

    SQL> alter table t1 storage (buffer_pool keep) cache;

    表已更改。

    查詢普通表是否已經被cache:

    SQL> select table_name,cache,buffer_pool from user_TABLES;

    TABLE_NAME CACHE BUFFER_

  ------------------------------ ---------- -------

    T1 Y KEEP

    二、對于普通LOB類型的segment的cache方法

    SQL> desc t2

    名稱 是否為空? 類型

  ---------------------------------------- -------- ----------------------------

    ID NUMBER

    C2 CLOB

    SQL> alter table t2 modify lob(c2) (storage (buffer_pool keep) cache);

    表已更改。

    三、對基于CLOB類型的對象的cache方法

    SQL> desc lob1

    名稱 是否為空? 類型

  ----------------------------------------- -------- --------------- ID NUMBER

    C1 XMLTYPE

    SQL> alter table lob1 modify lob(c1.xmldata) (storage (buffer_pool keep) cache);表已更改。

    那么,怎么測試lob segment是否被cache了呢?

    來看看oracle給我的回復:

    Hi Frank,

    To verify which buffer pool is used by a lob segment query dba_segments,

    See below test case

    SQL> create table test(name varchar2(10), address clob);

    Table created.

    SQL> select table_name,cache,buffer_pool from user_TABLES;

    TABLE_NAME CACHE BUFFER_

  ------------------------------ ----- -------

    TEST N DEFAULT

    SQL> alter table test modify lob(address) (storage (buffer_pool keep) nocache);

    Table altered.

    SQL> select table_name,cache,buffer_pool from user_TABLES;

    TABLE_NAME CACHE BUFFER_

  ------------------------------ ----- -------

    TEST N DEFAULT

    SQL> select segment_name,segment_type,buffer_pool from user_segments;

    SEGMENT_NAME

  --------------------------------------------------------------------------------

    SEGMENT_TYPE BUFFER_

  ------------------ -------

    TEST

    TABLE DEFAULT

    SYS_IL0000123006C00002$$

    LOBINDEX KEEP

    SYS_LOB0000123006C00002$$

    LOBSEGMENT KEEP

    SQL> select column_name,segment_name from user_lobs;

    COLUMN_NAME

  --------------------------------------------------------------------------------

    SEGMENT_NAME

  -----------------------------

    ADDRESS

    SYS_LOB0000123006C00002$$

    SQL>

    Thus you can see the lob segment SYS_LOB0000123006C00002$$ is mapped to clob column ad

    dress and is using

    keep buffer pool as expected.

    User_objects will display results for object as a whole not for individual columns.

    See below, we need to alter the complete table to use keep buffer_pool and user_tables will then display results as expected.

    SQL> alter table test storage (buffer_pool keep);

    Table altered.

    SQL> select table_name,cache,buffer_pool from user_TABLES;

    TABLE_NAME CACHE BUFFER_

  ------------------------------ ----- -------

    TEST N KEEP

    SQL>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精河县| 色达县| 疏附县| 枝江市| 晴隆县| 新宾| 象州县| 峨眉山市| 龙江县| 宁都县| 镶黄旗| 印江| 塘沽区| 临夏县| 小金县| 闽清县| 海淀区| 湛江市| 鄂尔多斯市| 赣州市| 攀枝花市| 衡水市| 汨罗市| 夏河县| 大竹县| 白水县| 武邑县| 平泉县| 凌海市| 德清县| 长乐市| 丹寨县| 独山县| 临武县| 五大连池市| 万山特区| 台湾省| 长阳| 尼木县| 金溪县| 南京市|