返回首页

gbase数据、南大通用产品文档:GBase8a表功能定义

更新日期:2024年09月11日

表 5-16 具体信息如下:
CHARACTER_SETS
字符集表,提供了实例中可使用的字符集信息,show character set 结
果取自此表
COLLATIONS
提供了关于各字符集的对照信息
COLLATION_CHARA
CTER_SET_APPLICA
BILITY
指明了可用于校对的字符集,等效于show collation 的前两个字段
COLUMNS
提供了表中的列信息,show columns from schemaname.tablename 的结
果取于此

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 296
COLUMN_PRIVILEG
ES
列权限表,给出关于列权限的信息。
ENGINES
关于引擎的信息
EVENTS
时间触发器,在特定时间点触发相关sql 语句或存储过程,区别于事
件触发器(trigger)
FILES
用来存储表空间(tablespace)数据的文件相关信息
GLOBAL_STATUS
系统全局的状态信息
GLOBAL_VARIABLE
S
全局变量的变量名及变量值
KEY_COLUMN_USA
GE
描述了具有约束的键列
PLUGINS
插件信息,是一张非标准表
PROCESSLIST
一个客户端连接的信息,show processlist 命令取于此
PROFILING
sql 语句执行的资源消耗信息,打开profiling 参数:set profiling=1
ROUTINES
提供了关于存储子程序(存储程序和函数)的信息。routines 表不包含
自定义函数(UDF)
COORDINATORS_TA
SK_INFORMATION
记录所有coordinator 节点的task 信息
GNODES_TASK_INF
ORMATION
记录所有node 节点的task 信息
COORDINATORS_RE
SOURCE_POOL_USA
GE
记录所有coordinator 节点的资源池实时使用情况,
包括等待任务数量,
运行任务数量等
GNODES_RESOURCE
_POOL_USAGE
记录单机层的资源池实时使用情况,包括CPU,内存,磁盘的使用信

GNODES_USER_DIS
KSPACE_USAGE
记录用户磁盘配额的使用情况,包括用户限定磁盘空间,用户实际使
用磁盘空间等
COORDINATORS_RE
SOURCE_POOL_STAT
US
记录集群层的资源池历史使用情况,包括已服务任务数量,任务平均
运行时间,任务平均等待时间等
GNODES_RESOURCE
_POOL_STATUS
记录单机层的资源池历史使用情况,包括CPU,内存,磁盘的使用信

RESOURCE_POOL_E
VENTS
记录集群层资源池event 信息

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 297
COORDINATOR_RES
OURCE_POOL_USAG
E
记录当前coordinator 节点的资源池实时使用情况,
包括等待任务数量,
运行任务数量等
SCHEMATA
提供当前实例中所有数据库的信息,show databases 的结果获取此表
SCHEMA_PRIVILEGE
S
数据库限表,给出了有关数据库权限的信息。
SESSION_STATUS
当前session 的状态信息
SESSION_VARIABLE
S
当前session 的变量名及变量值
STATISTICS
提供了关于表索引的信息,show index from schemaname.tablename 的
结果取于此
TABLES
提供关于数据库中表的信息(含视图),详细描述了某张表属于哪个
库,表类型,表引擎,创建时间等,show tables from schemaname 的
结果取于此
TABLE_CONSTRAIN
TS
描述了存在约束的表,以及表的约束类型
TABLE_PRIVILEGES
表权限表
TRIGGERS
提供了关于触发程序的信息,必须有super 权限才能查看该表
USER_PRIVILEGES
用户权限表,给出了关于全程权限的信息
LOAD_STATUS
用于查询加载进度的系统表
LOAD_TRACE
加载错误日志信息,当前coordinator 节点
CLUSTER_LOAD_TR
ACE
加载错误日志信息,所有coordinator 节点
LOAD_RESULT
加载结果信息,当前coordinator 节点
CLUSTER_LOAD_RE
SULT
加载结果信息,所有coordinator 节点
VIEWS
给出了关于数据库中的视图的信息,需要有show views 权限,否则无
法查看视图信息
PRIORITIES
优先级状态显示(与cgroup、优先级队列有关)
TABLE_LOCKS
用于显示当前表锁的使用情况
MEMORY_HEAP_INF
O
内存中各个堆的信息
CACHE_ACCESS_INF
O
select/insert/update 操作对内存的访问情况,delete/show 操作表中值不
改变,gbased 重启表中值归零
CLUSTER_TABLES
存储的信息为表占用的磁盘空间

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 298
CLUSTER_TABLE_SE
GMENTS
存储的信息为事务型consumer task 的运行状态
KAFKA_CONSUMER
_STATUS
存储的信息为事务型consumer task 的运行状态
KAFKA_CONSUMER
_EFFICIENCY
存储的信息为事务型consumer task 的运行效率,
包含了各个环节的耗
时统计
KAFKA_LOADER_C
ONSUMER_STATUS
存储的信息为加载型consumer task 的运行状态
SYS_SCN
system change number
DML_INFO
DML 操作的信息
ALL_ENCRYPTION_
CERTIFICATE_STATU
S
所有节点当前加密状态信息
COORDINATOR_ENC
RYPTION_CERTIFICA
TE_STATUS
集群层当前加密状态信息
GNODE_ENCRYPTIO
N_CERTIFICATE_STA
TUS
所有node 点当前加密状态信息
ENCRYPTION_CERTI
FICATE_STATUS
单机本地当前加密状态信息

数据中含有NULL 值的处理
如果待导出数据中某字段的内容为NULL 值,
则该字段导出的NULL 文本为
“当
前转义符+ N”。
默认情况下的转义符为“\”,因此字段导出的NULL 文本为“\N”。
示例
示例1:转义符默认为“\”,则“NULL”值导出的结果为“\N”。
示例中所用的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT
NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
导出SQL 语句:
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/null_1.txt';
Query OK, 2 rows affected
查看导出文件:
$ cat null_1.txt
\N
\N
1
GBase
示例2:如果在导出语句中指定了字段包围符,则对NULL 值不起作用。
示例中所用的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT
NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
导出SQL 语句:
gbase>
SELECT * FROM gs INTO OUTFILE '/home/gbase/null_2.txt'
FIELDS ENCLOSED BY '"';
Query OK, 2 rows affected
查看导出文件:
$ cat null_2.txt
\N
\N
"1"
"GBase"

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1253
示例3:设置转义符为“|”,则“NULL”值导出的结果为“|N”。
示例中所用的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT
NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
导出SQL 语句:
gbase>
SELECT * FROM gs INTO OUTFILE '/home/gbase/null_3.txt'
FIELDS ESCAPED BY '|';
Query OK, 2 rows affected
查看导出文件:
$ cat null_3.txt
|N
|N
1
GBase

返回一个通用唯一的标识符(UUID),其产生依据是公用组织在1997.10 出版(文
档号C706)的“DCE1.1: Remote Procedure Call”CAE(通用应用程序环境)说
明书。
UUID 是一个在空间和时间上全局唯一的号码。两次调用UUID()会返回两个不
同的数值,即使这些调用是在两台独立的计算机上发生,彼此并不相关。
UUID 是一个128 位的数字,由五位十六进制数的字符串表示这个数字,格式为
aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee。
前三个数字从时间戳中产生;
第四个数字在时间戳失去唯一性的时候保护时间的唯一性(例如,由于夏令时);

第五个数字是一个IEEE802 结点号,
可以提供空间的唯一性。
如果后面的部分不可
用,则使用一个随机数替代(例如,由于主机没有以太网卡,或不知道怎样在操作
系统上找到界面的机器地址),在这种情况下,空间唯一性不能保证。尽管如此,
发生冲突的可能性还是很小。
当前,只在Linux 上考虑MAC 地址。在其它操作系统上,GBase UP 使用一个随机
产生的48 位数字。
示例
示例1:返回一个通用唯一的标识符。
gbase> SELECT UUID() FROM t;
+--------------------------------------+
| UUID() |
+--------------------------------------+
| 6dde39b0-3307-11e3-8db0-080027f03271 |
+--------------------------------------+

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 564
1 row in set
用于GROUP BY 子句的函数和修饰语
GROUP BY(聚集)函数
如果用户在一条语句中使用聚集函数而不使用GROUP BY 子句,它等价于在所有
行上进行分组。
GBase UP 扩展了GROUP BY 的用法:
在SELECT 表达式中,用户可以使用或计算没有出现在GROUP BY 部分中的列,
它代表这个组的任何可能的值。
用户可以使用它避免在不必要的分类项目上进行排
序和分组,这样会得到更好的性能。
示例
示例1:按l.lo_shipmode 列进行分组。
gbase> SELECT c.c_city, l.lo_shipmode,l.lo_supplycost,MAX(l. lo_supplycost) FROM
ssbm.lineorder l, ssbm.customer c WHERE l.lo_custkey = c.c_custkey GROUP BY
l.lo_shipmode;
+------------+-------------+---------------+-----------------------+
| c_city | lo_shipmode | lo_supplycost | MAX(l. lo_supplycost) |
+------------+-------------+---------------+-----------------------+
| JORDAN 9 | TRUCK | 74711 | 125939 |
| JORDAN 9 | REG AIR | 99822 | 125939 |
| EGYPT 6 | AIR | 104928 | 125939 |
| VIETNAM 2 | MAIL | 88770 | 125939 |
| PERU 4 | SHIP | 107205 | 125939 |
| INDONESIA1 | RAIL | 57301 | 125939 |
| EGYPT 6 | FOB | 96210 | 125939 |
+------------+-------------+---------------+-----------------------+
7 rows in set
如果用户在GROUP BY 部分省略的列在分组中不是唯一的,请不要使用这个特性,
否则将得到不可预知的结果。