Oracle 11g笔记——索引组织表

一、索引组织表(Index-Organized Table, IOT)
    索引组织表是一类特殊的表,它将索引和表的数据存储在一起。普通表的数据以无序(Heap)的方式存放在数据库中。
    而索引组织表按照主键进行排序,以二叉树的形式对表的数据进行存储。
    索引组织表不存储ROWID,它通过主键来访问数据。
    索引组织表适合通过主键对数据进行访问的应用。
   
1、优点
   (1)快速的随机访问。索引和表的数据存储在一起,如果对表进行更新,Oracle只更新索引结构。
   (2)快速的范围扫描。索引组织表已经按照主键对数据进行排序,因此,范围扫描的速度是很快的。
   (3)更少的存储需求。索引数据和表的数据存储在一起,可以减少存储需求。普通的索引条目只包含索引值和指向数据行的ROWID

2、组成
   (1)索引部分。存放主键值,频繁访问的部分非主键值,指向溢出区的ROWID
   (2)溢出部分。用于存放非主键值。溢出区存放在一个溢出表空间中。用户可以指定溢出表空间。
   
3、示例
   (1)创建索引组织表
        SQL>crate table students(
            name varchar(20) primary key,
            id number,
            location varchar2(200)
            )        
            organization index
            tablespace lmtbsb
            pctthreshold 30
            including location
            overflow tablespace bigtbs_01;
        注:索引组织表中一定要有主键,
            pctthreshold:指定溢出比例,若超出限制,则溢出部分将被存储到溢出区中。
            including:表示从这个列以后的所有列将存储在溢出区中。
            overflow tablespace:指定溢出表空间
            如果要想在索引组织表上创建位图索引,索引组织表必须带有映射(Mapping Table),如:在organization index下行加入:Mapping Table
            若表已创建好,可以修改表
            SQL>alter table students add mapping table;

   (2)查看IOT
            SQL>select owner,table_name,iot_name,iot_type
                from dba_tables
                where owner='test' and iot_type like '%IOT%';

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值