• [bbk3153] 第62集 Chapter 15Application Tuning(02)


    Index-Organized Tables

    IOT表要求必须有主键.heap表可以没有主键.没有主键的表,不能称之为IOT表.

    IOT and Heap Tables

    • Compared to heap tables,IOTs have:
      • Faster key-based access to table data
      • Reduced storage requirements
      • Secondary indexes and logical rowids
    • IOTs have the following restrictions:
      • -Must have a primary key
      • -Cannot be clustered

    Creating IOT

    CREATE TABLE country
    (
        country_id             CHAR(2) CONSTRAINT contry_id_nn NOT NULL,
        country_name        VARCHAR2(40),
        currency_nbame     VARCHAR2(25),
        currency_symbol    VARCAHR2(3),
        map BLOB,
        flag BLOB,
        CONSTRAINT country_c_id_pk PRIMARY KEY(country_id))
        ORGANIZATION INDEX
        TABLESPACE indx
        PCTTHRESHOLD 20
        OVERFLOW TABLESPACE users;

    Keyword ORGANIZATION INDEX指明IOT表.

    PCTTRHESHOLD 20,OVERFLOW TABLESPACE users,两个参数结合使用:当索引内容占到一个索引块大小的20%的时候,就会overflow到user tablespace里面.节省空间,使一个索引块里面存放的索引entry更多;一个索引块里面存放的索引entry更多,那么hight就会越低.height越低,I/O的次数就会越少,性能就会提高.

    IOT Row Overflow

    pctthreshold和including这两个关键字,是用来控制那些列放在叶子block,那些列存放在overflow指定的segment.当二者发生冲突的时候, 以关键字pctthreshold优先.

    create table iot1
    (
            x       int,
            y       date,
            z       varchar2(2000),
            constraint iot_pk1      primary key(x)
    )
    organization index
    pctthreshold 10
    overflow
    /

    上图图解:通过指定关键字pctthreshold 10,说明每行所有字段累加超过叶子节点块大小的10%时,就会将多余出的数据,存放于overflow指定的表空间中.

    CREATE TABLE iot2
    (
            x       int,
            y       date,
            z       varchar2(2000),
            constraint iot_pk2 primary key(x)
    )
    organization index
    including y
    overflow
    /

    图解:因为在脚本中指定了including y,也就是说列y(包含y)左边的所有列都将包含在叶子节点所在的块中.列y右边的字段将直接放在overflow默认的表空间里面.上图清晰可见.

  • 相关阅读:
    显示网页加载时间
    ASP.NET MVC使用jQuery来POST数据至数据库中
    jQuery的prop和attr方法之间区别
    jQuery动态产生的铵钮怎样实现事件处理
    上传Text文档并转换为PDF
    学习jQuery的on事件
    使用ViewBag传送数据从控制器至视图
    ASP.NET MVC读取XML并使用ViewData显示
    ASP.NET MVC铵钮Click后下载文件
    如何把Json格式字符写进text文件中
  • 原文地址:https://www.cnblogs.com/arcer/p/3056443.html
Copyright © 2020-2023  润新知