ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 索引组织表

索引组织表

原创 Linux操作系统 作者:凌西 时间:2008-09-11 16:27:18 0 删除 编辑

以前没有接触索引组织表,今天从最基础的学习了一下

概念:索引组织表存储结构是按照主键的B-tree结构搭建的。索引组织表中的数据是按照B-tree结

构排序后保存的,不但保存索引值,还保存非索引的值。

普通表和索引组织表的对比
普通表                                                                  索引组织表
1. rowid唯一的识别每一行,                             主键唯一的识别每一行,主键必须被设定
    主键是可选定的设定项目
2.可以与其他表一起保存在簇中                       不能够保存在簇中
3.可以包含数据类型为long和lob的字段          可以包含数据类型为lob的字段,不能包含数据类型   

                                                                              为long的字段
4.连续扫描返回所有的行                                  全索引扫描返回所有的行


首先建表,注意一定要建在主键上
SQL> create table sales(
  2  office_cd number(3),
  3  qtr_end date,
  4  revenue number(10,2),
  5  review varchar2(1000),
  6  constraint sales_pk  primary key(office_cd,qtr_end)
  7  ) organization index tablespace users
  8  pctthreshold 20
  9  including revenue
 10  overflow tablespace tools;
表已创建。

--验证索引组织表,IOT中的索引名是以主键名命名的,同时它才是实际的IOT    
conn  / as sysdba
select  * from dba_segments where
segment_type='INDEX' and segment_name='SALES_PK';

--把这些表cache的语句,跟普通的堆表不一样
alter table sales storage(buffer_pool keep) ;

索引组织表的适用情况:
1、 代码查找表。
2、 经常通过主码访问的表。
3、 构建自己的索引结构。
4、 加强数据的共同定位,要数据按特定顺序物理存储。
5、 经常用between…and…对主码或唯一码进行查询。数据物理上分类查询。
经常更新的表不适合iot,因为oracle需要不断维护索引,而且由于字段多索引成本就大。

再深入的下次继续研究吧

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11244507/viewspace-445555/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2007-12-06

  • 博文量
    11
  • 访问量
    19307