返回首页

gbase数据、南大通用产品文档:GBase8sWSTATS 配置参数

更新日期:2024年09月11日

使用 WSTATS 配置参数来指定 onstat -g wst 命令是否显示系统内线程的等待统计信息。

注意: 由于收集统计信息的成本,您应预期产生小的性能影响。不建议为生产系统启用
WSTATS 配置参数。
onconfig.std 值
WSTATS 0
值域
0 = 禁用等待统计信息
1 = 启用等待统计信息
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。

字符数据类型存储字符串值。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 117 -
1.内置字符类型
表 1. 内置字符数据类型的属性

大小(以字节计) 缺省值
保留
整理
长度
CHAR(n)
1 至 32,767
1 个字节

代码集
固定
NCHAR(n)
1 至 32,767
1 个字节

本地化
固定
VARCHAR(m, r)
1 到 255
对于 r 为 0
0 至
255 个
字节
代码集
可变
NVARCHAR(m,
r)
1 到 255
对于 r 为 0
0 至
255 个
字节
本地化
可变
LVARCHAR(m)
1 至 32,739
2048 个字节

代码集
可变

数据库服务器还可以使用 LVARCHAR 表示不透明数据类型的外部格式。在数据库服务
器的 I/O 操作中,除文件大小限制、操作系统或硬件资源的限制之外,LVARCHAR 数据值
的大小没有上限。
2.字符类型声明中的逻辑字符语义
GBase 8s 支持配置参数 SQL_LOGICAL_CHAR,其设置可指示 SQL 解析器将 CREATE
TABLE 或 ALTER TABLE 语句数据类型声明中字符列的最大大小解释为逻辑字符,而不是
以字节为单位。
创建数据库之后,数据库服务器的当前 SQL_LOGICAL_CHAR 设置会记录在系统目录的
systables 表中。设置为 OFF 或 1 时,该功能对随后在数据库中创建或变更的表没有影
响。
然而,在 SQL_LOGICAL_CHAR 设置为 ON 或为 2、3 或 4 之间的数字的数据库中,
针对以下字符类型,SQL 解析器会将显式和隐式大小声明解释为 SPL 变量声明和数据库
表中的列声明中的逻辑字符:
CHAR 和 CHARACTER
CHARACTER VARYING 和 VARCHAR
LVARCHAR
NCHAR
NVARCHAR
以上所列出数据类型的 DISTINCT 类型
那些 DISTINCT 类型的 DISTINCT 类型
以上所列出类型的 ROW 数据类型字段。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 118 -
以上所列出类型的 LIST、MULTISET 和 SET 元素。
此功能对之前表中列出的字符类型的最大存储大小限制没有影响。然而,对于使用多
字节语言环境的数据库,可在将字符串插入到字符列或指定给字符变量时,降低数据截断
的风险。
例如,如果数据库的 SQL_LOGICAL_CHAR 设置是 4,那么 VARCHAR(10, 5) 规范会解
释为要求最大 40 个字节的存储,保留这些字节中的 5 个,在标准 SQL 表示法中创建
VARCHAR(40, 5) 数据类型,而不是声明中指定的规范。
由于多字节字符的最小大小是 1 个字节,因此 VARCHAR 和 NVARCHAR 数据类型的保
留大小参数不受 SQL_LOGICAL_CHAR 设置影响。在此示例中,5 多字节字符的最小大小是
5 个字节,大小保持不变。
请参阅《GBase 8s 管理员参考》中对 SQL_LOGICAL_CHAR 配置参数的描述,以获取
有关 SQL_LOGICAL_CHAR 设置对 DB_LOCALE 指定多字节语言环境的数据库的影响的更多
信息。有关多字节语言环境和逻辑字符的更多信息,请参阅《GBase 8s GLS 用户指
南》。
3.IDSSECURITYLABEL
GBase 8s 还支持将 IDSSECURITYLABEL 数据类型用于实现基于标号的访问控制
(LBAC) 的系统。此内置数据类型可正式归类为字符类型,因为其定义为 VARCHAR(128)
的 DISTINCT 数据类型,但只有拥有 DBSECADM 角色的用户可在 DDL 操作中声明此数据
类型。它支持 LBAC 安全性功能,而不是作为通用字符类型发挥功能。
4.数据类型提升
对于 GBase 8s 的一些字符串操纵操作,上面列出的五个内置字符数据类型支持数据
类型提升,以降低由于返回的字符串太大而无法存储在 NVARCHAR 或 VARCHAR 列或程序
变量中,从而导致字符串操作失败的风险。请参阅 GBase 8s SQL 指南:语法 中的“从
CONCAT 和 String 操纵函数返回的类型”主题,以获取在 GBase 8s 字符类型之间进行
数据类型提升的详细信息。
5.本地语言支持
有时,NCHAR 和 NVARCHAR 类型称为本地语言支持数据类型,因为其支持本地化的整
理。由于 VARCHAR 或 NVARCHAR 类型的列没有缺省大小,因此您必须在声明中指定大小
(不大于 255)。对于定义索引的 VARCHAR 或 NVARCHAR 列,最大大小是 254 个字节。
6.NLSCASE lNSENSITIVE 数据库
在使用 NLSCASE INSENSITIVE 关键字选项创建的数据库中,对 NCHAR 或 NVARCHAR
类型数据字符串的操作不区分相同字母的大小写变体。行使用装入字符时所用字母大小写
存储在 NCHAR 或 NVARCHAR 列中,但由相同字母以相同顺序组成的数据字符串将求值为
重复,即使某些字母的大小写不同。例如,三个 NCHAR 字符串 "ABC"、"AbC" 和 "abC"

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 119 -
将视为重复。其他内置字符类型(包括 CHAR、LVARCHAR 和 VARCHAR)遵循缺省的区分大
小写规则,以便 CHAR 列中的三个相同字符串求值为不同值。
使用 NLSCASE INSENSITIVE 属性的数据库还忽略基本类型为 NCHAR 或 NVARCHAR 的
DISTINCT 数据类型的字母大小写,以及已命名或未命名 ROW 类型中的 NCHAR 或
NVARCHAR 字段、COLLECTION 数据类型的 NCHAR 或 NVARCHAR 元素,包括 LIST、SET 或
MULTISET。
在不区分 NCHAR 或 NVARCHAR 值的字母大小写的数据库中,字符串操纵操作可能会
生成意外的结果(如果它们将 CHAR、LVARCHAR 或 VARCHAR 操作数或参数隐式强制转型
为 NCHAR 或 NVARCHAR 数据类型)。在一些上下文中,操作可能返回重复字符串,尽管
数据库服务器不会将这些字母大小写变体视为原始数据类型的重复值。

您可以创建 dbload 命令文件,将包含复杂数据类型的列装入表。
可将以下数据类型用于 dbload:

BLOB 或 CLOB

ROW 类型中的 SET



不可将以下数据类型用于 dbload 实用程序:

ROW 类型中的 CLOB 或 BLOB

SET 中的 ROW 类型
要点: 所有装载实用程序(dbexport、dbimport、dbload、gload、
gunload 和 onxfer)都依赖导出和导入功能。如果在写用户定义的数据类型时
未定义此功能,那么无法使用这些实用程序。
如果数据的表示包含句柄,那么在一个数据类型中装入另一个新的数据类
型可能会导致问题。如果字符串表示数据,那么您应可装入它。
您可以将 dbload 与命名行类型、
未命名行类型、
集合以及列表一起使用。