由浅至深讲解Oracle数据库 B
假如聚簇因子过大,那么重建索引可能会有好处,聚簇因子应该接近块的数量,而非行的数量。
B-tree索引:
·索引会随着时间的增加而变的不平衡;
·删除的索引空间不会被重用;
·随着索引层数的增加,索引将会变得无效并需要重建;
·聚簇因子差,索引需要重建;
·为了提高性能,索引需要经常重建;
索引基础
·一个更新由一个删除和一个插入组成;
·页块由索引条目(row
header(2/3B)|length(1B)|indexed data
value(nB)|length(1B)|RowID(6B))和相应的rowid组成;
·每个页块包含两个指针分别前面的页块和后面页块;
Treedump
alter session
set
events ‘immediate trace name treedump level index_object_id’;
----- begin tree dump
branch: 0x424362 4342626 (0: nrow: 2, level: 1)
leaf: 0x424363 4342627 (-1: nrow: 540 rrow: 540)
leaf: 0x424364 4342628 (0: nrow: 461 rrow: 461)
----- end tree dump
以上dump包含的信息如下:
块类型:branch(分支块);leaf(页块);
块地址:0x424362 4342626;
nrow:索引条目的数量;
rrow:当前块中的索引条目数量;
level:分支块等级(页块隐示为0);
Block Dump
alter system
dump datafile X block X;
alter system dump datafile X block min X1 block max X2
Start dump data
blocks tsn: 0 file
#: 1 minblk 148538 maxblk 148538
buffer tsn: 0 rdba: 0x0042443a (1/148538)
scn: 0x0000.00162a95 seq: 0x01 flg: 0x04 tail: 0x2a950601
frmt: 0x02 chkval: 0x8b5c type: 0x06=trans data
Block header dump: 0x0042443a
Object
id on Block? Y
seg/o
相关文档:
本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
问题一:如保加载JDBC驱动程序:
正常我们加载驱动程序有三个途径:
1.Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法。
2.使用系统属性:System.getPro ......
Oracle笔记
l 关于TRUNC函数
SELECT
RELATED_ID ,
DOC_ID ,
CAT_ID ,
CAT_CODE ,
RELEASE_DATE ,
&n ......