文档首页 > > 开发指南> 开发设计建议> 数据库对象设计> 字段设计

字段设计

分享
更新时间: 2019/07/22 GMT+08:00

选择数据类型

在字段设计时,基于查询效率的考虑,一般遵循以下原则:

  • 【建议】尽量使用高效数据类型。

    选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。

  • 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
  • 【建议】对于字符串数据,建议使用变长字符串数据类型,并指定最大长度。请务必确保指定的最大长度大于需要存储的最大字符数,避免超出最大长度时出现字符截断现象。除非明确知道数据类型为固定长度字符串,否则,不建议使用CHAR(n)、BPCHAR(n)、NCHAR(n)、CHARACTER(n)。

    关于字符串类型的详细说明,请参见常用字符串类型介绍

常用字符串类型介绍

在进行字段设计时,需要根据数据特征选择相应的数据类型。字符串类型在使用时比较容易混淆,下表列出了DWS中常见的字符串类型:

表1 常用字符串类型

名称

描述

最大存储空间

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字节

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区