Erp100论坛's Archiver

xiangzhao 发表于 2008-7-3 17:39

建一个表空间的问题

起因如下:
需要建立一表空间,从将旧数据库的表迁移过来,旧库的表空间数据文件大约为 500m,于是我书写如下语句:

CREATE TABLESPACE XXXX DATAFILE /XXXXX/XXX.dbf' SIZE 520M;(采用默认的64k和auto方式管理)

结果竟被boss斥为菜鸟语句,于是我要求展示boss的语句,得到如下:

CREATE TABLESPACE XXXX DATAFILE /XXXXX/XXX.dbf' SIZE  SIZE 10M REUSE
    AUTOEXTEND ON NEXT 1280K
    MINIMUM EXTENT 128K
    DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

boss主要对我的表空间设定不满,认为我设定的表空间太大?!!!!! 于是我郁闷之极,本来就需要500m,干嘛一开始非得设成10m呢????

xiangzhao 发表于 2008-7-3 17:39

10m的uniform, 这个是有问题的
的确,使用uniform不会产生碎片
但是对于那些很小的表,申请一次EXTENT就给10m,可能几年都用不完
反而达不到节省磁盘空间的目的

xiangzhao 发表于 2008-7-3 17:39

DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0); 应该是128k每次,有NEXT 128K 这个参数,表空间的初始大小是10m。服务器机器是linux的,很一般的pc erver没有使用 sata 的硬盘,也没有raid,就是一台配置比较高的台式机。不过,我把表空间都扩成100m开始的。

xiangzhao 发表于 2008-7-3 17:40

如果使用extent management local uniform size xxx,这个uniform size是要看这个tablespace中的segment的大小来决定的。
如果segment都很小,使用很大的uniform size是一种浪费。如果segment很大,使用小的uniform size则会造成效率低下。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.