返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

GLOBAL_STATEMENT_COMPLEX_RUNTIME
显示当前用户在各个节点上正在执行的作业的负载管理记录。
名称
类型
描述
datid
oid
连接后端的数据OID。
dbname
name
连接后端的数据库名称。
schemaname
text
模式的名称。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1028
名称
类型
描述
nodename
text
数据库进程名称
username
name
连接到后端的用户名。
application_name
text
连接到后端的应用名。
client_addr
inet
连接到后端的客户端的IP 地址。如果此字段
是null,
它表明通过服务器机器上UNIX 套接
字连接客户端或者这是内部进程,
如autovacu
um。
client_hostname
text
客户端的主机名,这个字段是通过client_addr
的反向DNS 查找得到。这个字段只有在启动
log_hostname 且使用IP 连接时才非空。
client_port
integer
客户端用于与后端通讯的TCP 端口号,如果
使用Unix 套接字,则为-1。
query_band
text
用于标示作业类型,可通过GUC 参数query_
band 进行设置,默认为空字符串。
pid
bigint
后端线程ID。
block_time
bigint
语句执行前的阻塞时间,单位ms。
start_time
timestamp with
time zone
语句执行的开始时间。
duration
bigint
语句已经执行的时间,单位ms。
estimate_total_time
bigint
语句执行预估总时间,单位ms。
estimate_left_time
bigint
语句执行预估剩余时间,单位ms。
enqueue
text
工作负载管理资源状态。
resource_pool
name
用户使用的资源池。
control_group
text
语句所使用的Cgroup。
estimate_memory
integer
语句预估使用内存,单位MB。
min_peak_memory
integer
语句在数据库节点上的最小内存峰值,
单位M

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1029
名称
类型
描述
B。
max_peak_memory
integer
语句在数据库节点上的最大内存峰值,
单位M
B。
average_peak_memory
integer
语句执行过程中的内存使用平均值,单位M
B。
memory_skew_percent
integer
语句在数据库节点间的内存使用倾斜率。
spill_info
text
语句在数据库节点上的下盘信息:
None:数据库节点均未下盘。
All:数据库节点均下盘。
[a:b]:
数量为b 个数据库节点中有a 个数据库
节点下盘。
min_spill_size
integer
若发生下盘,数据库节点上下盘的最小数据
量,单位MB,默认为0。
max_spill_size
integer
若发生下盘,数据库节点上下盘的最大数据
量,单位MB,默认为0。
average_spill_size
integer
若发生下盘,数据库节点上下盘的平均数据
量,单位MB,默认为0。
spill_skew_percent
integer
若发生下盘,数据库节点间下盘倾斜率。
min_dn_time
bigint
语句在数据库节点上的最小执行时间,
单位m
s。
max_dn_time
bigint
语句在数据库节点上的最大执行时间,
单位m
s。
average_dn_time
bigint
语句在数据库节点上的平均执行时间,
单位m
s。
dntime_skew_percent
integer
语句在数据库节点的执行时间倾斜率。
min_cpu_time
bigint
语句在数据库节点上的最小CPU 时间,单位
ms。
max_cpu_time
bigint
语句在数据库节点上的最大CPU 时间,单位

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1030
名称
类型
描述
ms。
total_cpu_time
bigint
语句在数据库节点上的CPU 总时间,
单位ms。
cpu_skew_percent
integer
语句在数据库节点间的CPU 时间倾斜率。
min_peak_iops
integer
语句在数据库节点上的每秒最小IO 峰值(列
存单位是次/s,行存单位是万次/s)。
max_peak_iops
integer
语句在数据库节点上的每秒最大IO 峰值(列
存单位是次/s,行存单位是万次/s)。
average_peak_iops
integer
语句在数据库节点上的每秒平均IO 峰值(列
存单位是次/s,行存单位是万次/s)。
iops_skew_percent
integer
语句在数据库节点间的IO 倾斜率。
warning
text
主要显示如下几类告警信息:
Spill file size large than 256MB。
Broadcast size large than 100MB。
Early spill。
Spill times is greater than 3。
Spill on memory adaptive。
Hash table conflict。
queryid
bigint
语句执行使用的内部query id。
query
text
正在执行的语句。
query_plan
text
语句的执行计划。
node_group
text
语句所属用户对应的逻辑GBase 8c。
top_cpu_dn
text
cpu 使用量topN 信息。
top_mem_dn
text
内存使用量topN 信息。

GBase 8c 提供了gs_encrypt 工具为输入的明文字符串进行加密操作。

GBase ADO.NET 支持预处理语句,使用预处理语句时需要创建一个
GBaseCommand 命令对象,并且设置相关属性及定义查询语句后调用命令对象的
ExecuteNonQuery()、ExecuteScalar()或ExecuteReader 方法执行语句。
下面是在GBase ADO.NET 中定义预处理语句的步骤:
1) 使用GBaseConnection 创建数据库连接对象
2) 使用GBaseCommand 创建命令对象
3) 使用连接对象打开连接
4) 设置命令对象的 CommandText 属性,指明预处理语句,并定义参数
5) 执行命令对象的 Prepare 方法
6) 增加命令对象的Parameters 的参数
7) 设置命令对象 Parameters 的参数值
8) 执行命令对象的 ExecuteNonQuery 方法
下面的样例代码演示如何定义预处理语句和使用预处理语句功能完成数据
的批量插入。
C# 示例:
using System;
using GBase.Data.GBaseClient;

namespace UsingGBase

GBase 8a 程序员手册ADO.NET 篇


- 30 -

南大通用数据技术股份有限公司
{
class Program
{
static void Main(string[] args)
{
String connectionString =
"server=192.168.5.41;database=test;user
id=root;password=1;pooling=false";
GBaseConnection conn = new
GBaseConnection(connectionString);
GBaseCommand cmd = new GBaseCommand();
try
{
conn.Open();
cmd.Connection = conn;

cmd.CommandText = "DROP TABLE IF EXISTS gsTable";
cmd.ExecuteNonQuery();
cmd.CommandText = "CREATE TABLE gsTable (id int,c1
bigint ,c2 varchar(100) )";
cmd.ExecuteNonQuery();

cmd.CommandText
=
"INSERT
INTO
gsTable
VALUES(NULL,
@number, @text)";
cmd.Prepare();

cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");

for (int i = 1; i <= 1000; i++)
{
cmd.Parameters["@number"].Value = i;
cmd.Parameters["@text"].Value = "A string
value";

cmd.ExecuteNonQuery();
}



GBase 8a 程序员手册ADO.NET 篇
南大通用数据技术股份有限公司

- 31 -
}
catch (GBaseException ex)
{
Console.WriteLine("Error " + ex.Number + " has
occurred: " + ex.Message);
}
}
}
}