一、分析索引
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