您的位置:首页 > 数据库 > Oracle

Oracle技术之和分区表相关的一点总结(一)

2013-07-10 09:57 513 查看
通过对比分区表和普通表,简单的测试了性能和对分区表存在index时的维护,最后我们不得不说
使用分区表很多时候不一定能提高性能,主要是维护起来方便,如果我们能把访问的数据集中
在一个或者有限的几个分区里,那么性能肯定比访问普通的全表要好,还是那句话
让执行的sql尽可能的少读、少写,这样才是提高sql性能的关键,就像anlinew提到的公式:
T=S/V,其实少读、少写的目的就是减小S...

--创建2个结构完全相同,数据量几乎相同的表,只不过是分区表,一个是普通的heap表,
然后简单的做个访问时的性能对比,从而更好的理解如何合理的使用分区表
SQL> create table t(object_id number,object_name varchar2(30))
2 partition by range(object_id)
3 (
4 partition p1 values less than(2000) tablespace users,
5 partition p2 values less than(4000) tablespace users,
6 partition p3 values less than(6000) tablespace users,
7 partition p4 values less than(8000) tablespace users,
8 partition p5 values less than(maxvalue) tablespace users
9 );

表已创建。

SQL> insert into t select object_id,object_name from dba_objects;

已创建9848行。

SQL> insert into t select * from t;

已创建9848行。

SQL> insert into t select * from t;

已创建19696行。

SQL> insert into t select * from t;

已创建39392行。

SQL> insert into t select * from t;

已创建78784行。

SQL> insert into t select * from t;

已创建157568行。

SQL> insert into t select * from t;

已创建315136行。

SQL> insert into t select * from t;

已创建630272行。

SQL> commit;

提交完成。

SQL> create table t1 tablespace users as select object_id,object_name from dba_o
bjects;

表已创建。

SQL> insert into t1 select *from t1;

已创建9849行。

SQL> insert into t1 select *from t1;

已创建19698行。

SQL> insert into t1 select *from t1;

已创建39396行。

SQL> insert into t1 select *from t1;

已创建78792行。

SQL> insert into t1 select *from t1;

已创建157584行。

SQL> insert into t1 select *from t1;

已创建315168行。

SQL> insert into t1 select *from t1;

已创建630336行。

SQL> commit;

提交完成。

SQL>

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle 分区表