Informix
数据库开发人员指导原?/p>
Version 1.1
一?/p>
目的
1
?/p>
为提高数据库
server
运行稳定性和性能?/p>
加强数据库安全管理?/p>
提高查询和交易效
率,特为开发人员制定下列指导原则?/p>
二?/p>
指导原则
A
建库方面
?/p>
在创建数据库时,不能创建?/p>
rootdbs
上(缺省情况?/p>
,需要指?/p>
dbspace
,即创建
?/p>
datadbs
上:
create database dbname in dbspacename
?/p>
建立数据库应该使?/p>
en_us.819
字符?/p>
使用缺省
DB_LOCALE
或设?/p>
DB_LOCALE=en_us.819
?/p>
如果有两个或两个以上?/p>
datadbs
,则要考虑创建在哪?/p>
datadbs
上。原则是?/p>
使每
?/p>
datadbs
上的数据大小尽量相近,以缩短数据库备份时间?/p>
B
表的使用方面
?/p>
对于新建的每个表,都需要把
public
用户的权限去除?/p>
为此创建每个新表?/p>
sql
语句后,
需要添加如下语句:
revoke all on
tablename
from
"public"
?/p>
每个数据库中的表尽量由同一个用户来创建?/p>
这样对于以后权限的控制比较方便?/p>
?/p>
对于很大的表?/p>
可以考虑使用分区?/p>
(parition)
技术,
即把表分布在多个
datadbs
上,
这样可以提高数据的查询速度?/p>
?/p>
建立大表的特殊处?/p>
对于大的表,例如记录数达到百万行以上的表,或者是随时间而增大的记录
log
的表,应?/p>
设置大的?/p>
first extent
?/p>
next extent
可以设为前者的
1/10
?/p>
extent
?/p>
page(2K)
为单位。如
create table "user".tabname
(
col1 varchar(80) not null ,
col2 varchar(20)
) extent size 100000 next size 10000 lock mode page;
这里?/p>
extent size 100000
指的就是初始
extent
大小?/p>
200M
?/p>