ORACLE堆表和索引组织表IOT优缺点
来源:互联网 发布:php 参数传递 编辑:程序博客网 时间:2024/05/16 06:05
堆表:
缺点:
主键索引和表数据分离,增加数据所占用空间。可能主键索引的所占用的空间大于该表所对应的空间
添加或者修改索引字段时需要维护索引,索引还会产生日志。
增加IO次数(通过索引的rowid来查找rowid对应块)。
数据会按照插入行所需要的空间大小按照一定顺序查找所需要的位置,没有一定顺序。
优点:
容易维护,
如果直接获取主键信息并且条件中含有字段除了主键字段外没有其他的字段,可以直接查询索引数据
索引组织表:
缺点:
优点:
主键索引和表数据存储在一起,并且如果主键索引字段所占的整行的比例非常大,节省的空间非常明显。
数据会按照一定顺序存储。
如果根据主键获取对应的行,读取的块会尽可能的少。因为相同的主键的值都存储在一起(相同主键的行数据插入彼此靠近的地方),减少物理IO和逻辑IO。
测试用例
创建索引表
create table IOT_t(
id number,
owner varchar2(30),
object_name varchar2(30),
object_id varchar2(30) ,
constraint prk_IOT_t primary key(id,owner,object_name) )
organization index ;
insert into IOT_t
select rownum id, t.owner,t.object_name,t.object_id from all_objects t ;
创建堆表
create table heap_t(
id number,
owner varchar2(30),
object_name varchar2(30),
object_id varchar2(30) ,
constraint prk_heap_t primary key(id,owner,object_name) ) ;
insert into heap_t
select rownum id, t.owner,t.object_name,t.object_id from all_objects t ;
索引组织表测试结果
堆表测试结果
明显的物理读一些,这些物理读就是通过索引IO产生的
create table iot_t1 (id number,x varchar2(100),y varchar2(200), constraint prk_iot_t1 primary key (id ))
organization index
pctthreshold 10 including x overflow ;
如果插入行大于这个数据块的10%,这时剩下的部分会放在一处段里面,将id、x列放在索引表段中。
- ORACLE堆表和索引组织表IOT优缺点
- <转>堆组织表(hot)和索引组织表(iot)
- 深入理解Oracle表(6):堆组织表(HOT)和索引组织表(IOT)的区别
- 深入理解Oracle表(6):堆组织表(HOT)和索引组织表(IOT)的区别
- oracle 索引组织表IOT
- oracle 索引组织表 IOT
- Oracle三种table: 堆表Heap Table、索引组织表IOT和聚簇表Cluster
- 乱序存储和顺序存储(堆组织表和索引组织表(IOT))
- Oracle 索引组织表(IOT)
- Oracle 索引组织表(IOT)
- Oracle 索引组织表(IOT)
- Oracle 索引组织表(IOT)
- Oracle 索引组织表(IOT)
- Oracle索引组织表(IOT)
- Oracle 索引组织表(IOT)
- ORACLE创建IOT(索引组织表)
- Oracle 索引组织表(IOT)
- Oracle 索引组织表(IOT)
- LeetCode Next Permutation 生成下一个序列
- 【第一章 第二节】
- mac 下 node-qrcode的二维码库
- sshuttle全局代理的实现简析
- Android开发adb环境配置
- ORACLE堆表和索引组织表IOT优缺点
- 取得下个参数宏定义
- Java面向对象(一)
- 微信打飞机之IOS/安卓无敌破解版
- Android开发之xml文件的序列化
- 非线性数据结构——二叉树
- canvas的translate、scale、rotate等方法
- 自旋锁的应用
- cookie学习笔记2