DBA索引优化 与 sqlldr使用

一、分析索引

1.概念:

1、高基数:简单理解就是表中列的不同值多。 

2、低基数:建单理解就是表中的列的不同值少

3、已删除的叶节点数量:指得是数据行的delete操作从逻辑上删除的索引节点 的数量,要记住oracle在删除数据行后,将 “ 死 “ 节点保留在索引中,这样做可以加快sql删除操作的速度,因此oracle删除数据行后可以不必重新平衡索引

4、索引高度:索引高度是指由于数据行的插入操作而产生的索引层数,当表中添加大量数据时,oracle将生成索引的新层次以适应加入的数据行,因此,oracle索引可能有4层,但是这只会出现在索引数中产生大量插入操作的区域。Oracle索引的三层结构可以支持数百万的项目,而具备4层或是更多层的需要重建。

5、每次索引访问的读取数:是指利用索引读取一数据行时所需要的逻辑I/O操作数,逻辑读取不必是物理读取,因为索引的许多内容已经保存在数据缓冲区,然而,任何数据大于10的索引都需要重建

 

 

 

analyze index index_name vlidate structure    ----选择需要的索引进行分析

 

select height,del_lf_rows/lf_rows from index_stats    ---查看分析的结构

 

当查询出来的 height>=4 或者 DEL_LF_ROWS/LF_ROWS>0.2 的场合 , 该索引考虑重建

 

alter index index_name rebuild online   --需要重建索引时执行  后面可以加 tablespace tablespace_name 来将索引放入另外一个表空间

 

 

二、分析执行语句,explain plan for后面语句并未真正执行,只是进行分析

/

explain plan for alter index  SUGA_IDX_WTN_LINES_ALL1 REBUILD ONLINE   ----分析所要执行的语句
/
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY)   ---查看分析结构

 

 三、sqlldr使用方法

load data

infile 'E:\wm_test.csv'

append into table scott.wm_test01

fields terminated by ","

(sequence_id,

sal_type,

call_start_time,

call_time,

call_type,

call_number,

call_local,

call_typeq,

call_money,

other_money,

cal_sum)


----sqlldr scott/tiger control=E:\conntrolfile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值