GaussDB(DWS)字段设计规则
选择数据类型
在字段设计时,基于查询效率的考虑,一般遵循以下原则:
- 【建议】尽量使用高效数据类型。
- 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
- 【建议】对于字符串数据,建议使用变长字符串数据类型,并指定最大长度。请务必确保指定的最大长度大于需要存储的最大字符数,避免超出最大长度时出现字符截断现象。除非明确知道数据类型为固定长度字符串,否则,不建议使用CHAR(n)、BPCHAR(n)、NCHAR(n)、CHARACTER(n)。
关于字符串类型的详细说明,请参见常用字符串类型介绍。
名称 |
描述 |
最大存储空间 |
---|---|---|
CHAR(n) |
定长字符串,n描述了存储的字节长度,如果输入的字符串字节格式小于n,那么后面会自动用空字符补齐至n个字节。 |
10MB |
CHARACTER(n) |
定长字符串,n描述了存储的字节长度,如果输入的字符串字节格式小于n,那么后面会自动用空字符补齐至n个字节。 |
10MB |
NCHAR(n) |
定长字符串,n描述了存储的字节长度,如果输入的字符串字节格式小于n,那么后面会自动用空字符补齐至n个字节。 |
10MB |
BPCHAR(n) |
定长字符串,n描述了存储的字节长度,如果输入的字符串字节格式小于n,那么后面会自动用空字符补齐至n个字节。 |
10MB |
VARCHAR(n) |
变长字符串,n描述了可以存储的最大字节长度。 |
10MB |
CHARACTER VARYING(n) |
变长字符串,n描述了可以存储的最大字节长度;此数据类型和VARCHAR(n)是同一数据类型的不同表达形式。 |
10MB |
VARCHAR2(n) |
变长字符串,n描述了可以存储的最大字节长度,此数据类型是为兼容Oracle类型新增的,行为和VARCHAR(n)一致。 |
10MB |
NVARCHAR2(n) |
变长字符串,n描述了可以存储的最大字符长度。 |
10MB |
TEXT |
不限长度(不超过1GB-8203字节)变长字符串。 |
1GB-8203字节 |