Oracle9i数据库设计指引全集
2008-09-08 12:53:41 来源:WEB开发网2.3.3.3 大字段
如无特别需要,避免使用大字段(blob,clob,long,text,image等)。
2.3.3.4 唯一键
对于数字型唯一键值,尽可能用系列sequence产生。
2.4 设计
2.4.1 范式
如无性能上的必须原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余,但是如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF.如非确实必要,避免一个字段中存储多个标志的做法。如11101表示5个标志的一种取值。这往往是增加复杂度,降低性能的地方。
2.4.2 表设计
2.4.2.1 逻辑段设计原则
2.4.2.1.1 Tablespace
每个表在创建时候,必须指定所在的表空间,不要采用默认表空间以防止表建立在系统表空间上导致性能问题。对于事务比较繁忙的数据表,必须存放在该表的专用表空间中。
2.4.2.1.2 Pctused
默认pctused导致数据库物理空间利用率非常低40%左右;对于update比较少或update不导致行增大的表,pctused可设置在60—85之间;对于update能够导致行增大的表,update设置在40—70之间
2.4.2.1.3 Initrans
对于需要并行查询或者在RAC数据库中需要并行处理的表,initrans设置为2的倍数,否则,不设该值。
2.4.2.1.4 Storage
2.4.2.1.4.1 Initial
尽量减少表数据段的extents数量,initial的大小尽量接近数据段的大小64K,128K,… ,1M,2M,4M,8M,16M ,…,等按2的倍数进行圆整。例如表或分区数据段大小为28M,则initial取32M。
2.4.2.1.4.2 Next
表或分区扩展extents的大小,按上述方法进行圆整。当表或分区数据段无法按Initial接近值进行圆整的情况下,其大小可以按 Initial Next进行圆整。此时,必须设置Minextents=2。例如:表或分区数据段大小为150M,则Initial=128M;Next=32M,Minextents=2。
更多精彩
赞助商链接