(2) 查询索引信息:
给出查询的结果:
(3) 监视索引: a.打开索引监视状态:
alter index emp_last_name_idx monitoring usage; b. 监视索引emp_last_name_idx:
analyze index emp_last_name_idx validate structure;
Select br_rows,br_blks,lf_rows,del_lf_rows From index_stats
Where name=’ emp_last_name_idx’; 给出运行结果:
7.9 分区表的创建与使用
1.准备工作
创建数据存放表空间:(其中的NNN请用学号后三位代替)
create tablespace Ex07_NNN_space01 datafile 'C:\Ex07_NNN01.dnf' size 20M; create tablespace Ex07_NNN_space02 datafile 'C:\Ex07_NNN02.dnf' size 20M; create tablespace Ex07_NNN_space03 datafile
'C:\Ex07_NNN03.dnf'
size
20M;
2.范围分区与分区表的创建
范围分区就是对数据表中的某个值的范围进行分区,根据某个值的范围,决定将该数据存储在哪个分区上。如根据序号分区,根据业务记录的创建日期进行分区等。
需求描述:
有一个物料交易表,表名:material_transactions。该表将来可能有千万级的数据记录数。要求在建该表的时候使用分区表。这时候可以使用序号分区三个区,每个区中预计存储三千万的数据,也可以使用日期分区,如每五年的数据存储在一个分区上。
根据交易日期分区建表:
create table Ex07_NNN_test (
transaction_id number primary key, item_id number(8) not null,
item_description varchar2(300),
transaction_date date not null )
partition by range (transaction_date) (
partition part_01 values less than(to_date('2006-01-01','yyyy-mm-dd')) tablespace Ex07_NNN_space01,
partition part_02 values less than(to_date('2010-01-01','yyyy-mm-dd')) tablespace Ex07_NNN_space02,
partition part_03 values less than(maxvalue) tablespace Ex07_NNN_space03 );
这样就分别建了以交易序号和交易日期来分区的分区表。每次插入数据的时候,系统将根据指定的字段的值来自动将记录存储到制定的分区(表空间)中。
3. 分区表操作
以上完成了分区表的建表,下面将使用实际的数据并针对按日期的范围分区来测试分区表的数据记录的操作。
(1)插入记录:
设定不同的日期时间,将数据插入到表中:
insert into Ex07_NNN_test values(1,12,'BOOKS',sysdate); insert into Ex07_NNN_test values(2,12, 'BOOKS',sysdate+30); insert insert insert insert commit;
into into into into
Ex07_NNN_test Ex07_NNN_test Ex07_NNN_test Ex07_NNN_test
values(3,12, values(4,12, values(5,12, values(6,12,
'BOOKS',to_date('2006-05-30','yyyy-mm-dd')); 'BOOKS',to_date('2007-06-23','yyyy-mm-dd')); 'BOOKS',to_date('2011-02-26','yyyy-mm-dd')); 'BOOKS',to_date('2011-04-30','yyyy-mm-dd'));