oracle 学习概要

------delete操作比插入删除操作的UNDO量多,更容易引起性能问题。

delete操作并不释放空块,不会减少逻辑读。trucate操作会回收空块。但truncate不能带where条件,除非做分区,即where条件成为分区条件,命令大致为alter table t truncate partition '分区名'。。那就相当于换角度实现了truncate table t where...的功能。

delete操作后进行insert操作时会优先插入delete操作产生的空块中。

-------提升检索的速度:索引技术和分区技术

根据索引快速定位到索引列上的记录存放ROWID,如果需要读取改条记录上的其他未被索引字段,则需要根据ROWID回到普通表中去读其他字段值。

索引组织表可以避免回到普通表,但是进行更新删除操作时很消耗性能,所以很少用。

-------普通表有序插入后,若中间有删除操作,则不能保证有序输出,除非查询使用orderby操作,但orderby开销很大。避免orderby方法两种:在该排序列建索引,有序散列聚簇表。

 ------全局临时表重要特点:一是高效删除记录,基于事务的全局临时表在COMMIT或SESSION连接退出后,临时表记录会自动删除;基于会话的则是在SESSION连接退出后,临时表记录会自动删除。二是不同的SESSION访问全局临时表,看到的结果不同,即全局临时表只在创建改表的session中维护。

-------分区表:RANGE分区(partion by range()  ( partition p1 values less than())) 、LIST分区(partion by list (partion p_union values(v1,v2,v3)))、HASH分区(partition by hash partitions 12)、组合分区(partition by range(field) subpartition by list(area_code)  范围-列表组合)   优点:高效的分区删除,记录清理,分区转移

-------分区交换:可以实现普通表和分区表的某个分区之间数据的交换。命令形式:alter table 分区表 exchange partition 分区名 with table 中间表。

         分区切割 : split partition 分区名 at 条件 into (分割后的分区名,待分割分区名)  at 后的条件表示具体范围,小于某个指定值

         分区合并: alter atble 表名 merge partitions 分区名1,分区名2 into partition 合并后的分区名

         分区增删:alter table 表名 add partition 分区名 values less than (条件);  alter table 表名 drop partition 分区名。 --注意:若有maxvalue 分区在,则无法新增,只能分裂。

         分区索引:create index 索引表名 on 数据表名(索引字段名)--全局; 局部索引则是末尾加个local字段,表示各个分区建索引。删除分区表会导致全局索引失效,局部索引不受影响。而删除分区命令后添加参数update global indexs ,则会自动执行索引重建工作。分区索引最好能带上分区条件,提高分区索引效率

-------索引执行计划:INDEX RANGE SCAN 、INDEX FULL SCAN(MIN/MAX)、INDEX FULL SCAN (一次只读一个块能避免排序)、INDEX FAST FULL SCAN(同时读多个块,需要排序的命令中需要额外的排序操作)

--------主外键和索引。主外键(PRIMARY KEY、FOREIGN KEY(KEY) REFERENCES 表名(KEY))三大特点:1.主键本身是一种索引 2.可以保证表中主键所在列的唯一性 3.可以有效限制外键依赖的表的记录的完整性 。其中前两个特性和CREATE UNIQUE INDEX 建立的唯一性索引基本相同。 外键索引可以把两表中的不同字段关联起来建索引。外键所在表的外键列取值必须在主表中的主键列有记录。外键索引可以避免锁的竞争。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值