一、环境说明
字符集:UTF-8
大小写:敏感
页大小:32
簇大小:32
SELECT * FROM V$OPTION;
CTL_PATH /data/dmdata/DAMENG/dm.ctl
GLOBAL_EXTENT_SIZE 32
GLOBAL_PAGE_SIZE 32768
GLOBAL_STR_CASE_SENSITIVE 1
GLOBAL_CHARSET 1
LENGTH_IN_CHAR 0
INSTANCE_NAME DMSERVER
PORT_NUM 5236
TIME_ZONE 480
ENABLE_PAGE_CHECK 3
EXTERNAL_CIPHER_ID 0
EXTERNAL_HASH_ID 0
EXTERNAL_CRYPTO_NAME
USBKEY_FLAG 0
DB_BLOCK_ENC_ID 2049
PAGE_ENC_SLICE_SIZE 4096
RLOG_ENC_KEY FALSE
BLANK_PAD_MODE 0
MAL_INI 0
ARCH_INI 1
MPP_INI 0
USE_NEW_HASH 1
GLOBAL_PRIV_FLAG 0
CHAR_FIX_STORAGE 0
SQL_LOG_FORBID 0
PAGE_CHECK_ID 0
GLOBAL_ENV_LABEL 0
ENABLE_MAC 2
二、创建测试表
CREATE TABLE T1("NAME" VARCHAR(8188 CHAR));
经过测试(测试过程略)
- 当插入的字段NAME汉字数>8188会报错[-6169]:列[NAME]长度超出定义
- 当插入的字段NAME汉字数位于区间[5394,8188]时会报错[-2665]:记录超长
- 当插入的字段NAME汉字数<=5393时,插入成功。
三、测试结论
说明在不开启超长记录的情况下,VARCHAR字段能够存储的最大汉字数为5393个。
此最大数目与数据库配置的字符集和页大小有关。详见达梦数据库单机安装部署1.3.1 实例参数介绍。