首页 > 代码库 > Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)

Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)

 

 

--20170322

--1.0

--更新表的统计信息
begin
dbms_stats.set_table_stats(user,‘EMP‘,numrows => 10000);
end;

begin
dbms_stats.set_table_stats(user,‘DEPT‘,numrows => 10000);
end;

--重新查看表的统计信息
select t.table_name,t.num_rows,t.blocks from user_tables t where t.table_name in (‘EMP‘,‘DEPT‘);
/*
DEPT    10000    100
EMP    10000    100
*/

--2.0

--查看索引占用的数据块数、聚簇因子
select t1.index_name,t2.num_rows,t2.blocks ,t1.clustering_factor  from user_indexes  t1  inner  join user_tables t2  on t1.table_name=t2.table_name

/*
PK_YW_ZJFPJL    97    35    85
PK_YW_ZJFPDQ    3    5    1
PK_YW_YJFPLS_9    57    5    11
PK_YW_YJFPLS_8    35    5    1
PK_YW_YJFPLS_7    15    5    1
PK_YW_YJFPLS_6    19    5    1
*/

如果聚簇因子与块数接近,则说明表相当有序,得到了很好的组织。即 一个叶子块中的索引条目指向了同一个数据块中的行;

如果聚簇因子与行数接近,表的次序可能就是非常随机的。即 同一个叶子块上的索引条目不太可能指向同一个数据块中的行
--3.0

--type 使用细则,注意标红地方哦
create or replace type emp_type
as object(
  EMPNO    NUMBER(4),
  ENAME    VARCHAR2(10),
  JOB      VARCHAR2(9),
  MGR      NUMBER(4),
  HIREDATE DATE,
  SAL      NUMBER(7,2),
  COMM     NUMBER(7,2)
);

create or replace type emp_tab_type as table of emp_type;

Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)