返回首页

gbase数据、南大通用产品文档:GBase8a获取同步工具中成功同步的DML 操作的统计

更新日期:2024年09月11日

信息

GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 53 -
URL 示例:http://192.168.5.3:8080/dmlstatistic
该接口功能可以获取同步工具成功同步的DML 统计信息(分源统计),包
括每个源下每个表的最近一小时、最近一天和从启动以后的DML 操作(包括
Insert、Update 和Delete)的SQL 数。
调用结果:
{
"requestType":"DMLSTATISTIC",
"dmlStatisticInfoList":
[
{
"mappingid":"5.1_5.3",
"tableStatInfoList":
[
{
"tableName":"t1",
"startupStatisticInfo":
{
"insertNum":"2",
"updateNum":"1",
"deleteNum":"1"
},
"dailyStatisticInfo":
{

GBase RTSync 同步工具手册
- 54 -
南大通用数据技术股份有限公司
"insertNum":"2",
"updateNum":"1",
"deleteNum":"1"
},
"hourlyStatisticInfo":
{
"insertNum":"2",
"updateNum":"1",
"deleteNum":"1"
}
},
{
"tableName":"t2",
"startupStatisticInfo":
{
"insertNum":"3",
"updateNum":"1",
"deleteNum":"2"
},
"dailyStatisticInfo":
{
"insertNum":"3",
"updateNum":"1",

GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 55 -
"deleteNum":"2"
},
"hourlyStatisticInfo":
{
"insertNum":"3",
"updateNum":"1",
"deleteNum":"2"
}
}
],
"sumDmlInfo":
{
"insertNum":"5",
"updateNum":"2",
"deleteNum":"3"
}
}
]
}
结果说明:
requestType:请求类型,值为:DMLSTATISTIC。
dmlStatisticInfoList:DML 统计信息列表,列表中每个元素对应一
个源。

GBase RTSync 同步工具手册
- 56 -
南大通用数据技术股份有限公司
sumDmlInfo:DML 统计信息的合计值。
mappingid:配置文件中配置的source-target 的id,对应每个源。
tableStatInfoList:表统计信息列表,列表中每个元素对应一个表,
每个表包含最近一小时、最近一天和从启动以后的DML 统计信息。
tableName:表名称。
startupStatisticInfo:从启动后的DML 统计信息,包含Insert、
Update 和Delete。
dailyStatisticInfo:
最近一天的DML 统计信息,
包含Insert、
Update
和Delete。
hourlyStatisticInfo:最近一小时的DML 统计信息,包含Insert、
Update 和Delete。
insertNum:执行insert 语句的数据量。
updateNum:执行update 语句的数据量。
deleteNum:执行delete 语句的数据量。
【注】:该功能不支持SQL Server 源。

功能描述
SELECT INTO 用于根据查询结果创建一个新表,并且将查询到的数据插入到新表中。
数据并不返回给客户端,这一点和普通的SELECT 不同。新表的字段具有和SELECT
的输出字段相同的名称和数据类型。
注意事项
CREATE TABLE AS 的作用和SELECT INTO 类似,
且提供了SELECT INTO 所提供功
能的超集。建议使用CREATE TABLE AS 语法替代SELECT INTO,因为SELECT INTO 不
能在存储过程中使用。
语法格式
[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
{ * | {expression [ [ AS ] output_name ]} [, ...] }
INTO [ UNLOGGED ] [ TABLE ] new_table
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ WINDOW {window_name AS ( window_definition )} [, ...] ]
[ { UNION | INTERSECT | EXCEPT | MINUS } [ ALL | DISTINCT ] select ]

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1249
[ ORDER BY {expression [ [ ASC | DESC | USING operator ] |
nlssort_expression_clause ] [ NULLS { FIRST | LAST } ]} [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
[ {FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT | WAIT N ]} [...] ];
参数说明

new_table
new_table 指定新建表的名称。

UNLOGGED
指定表为非日志表。
在非日志表中写入的数据不会被写入到预写日志中,
这样就会比普
通表快很多。但是,它也是不安全的,非日志表在冲突或异常关机后会被自动删截。非日志
表中的内容也不会被复制到备用服务器中。在该类表中创建的索引也不会被自动记录。
使用场景:
非日志表不能保证数据的安全性,
用户应该在确保数据已经做好备份的前提
下使用,例如系统升级时进行数据的备份。
故障处理:
当异常关机等操作导致非日志表上的索引发生数据丢失时,
用户应该对发生
错误的索引进行重建。

GLOBAL | LOCAL
创建临时表时可以在TEMP 或TEMPORARY 前指定GLOBAL 或LOCAL 关键字。如
果指定GLOBAL 关键字,GBase 8c 会创建全局临时表,否则GBase 8c 会创建本地临时表。

TEMPORARY | TEMP
如果指定TEMP 或TEMPORARY 关键字,则创建的表为临时表。临时表分为全局临时
表和本地临时表两种类型。创建临时表时如果指定GLOBAL 关键字则为全局临时表,否则
为本地临时表。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1250
全局临时表的元数据对所有会话可见,
会话结束后元数据继续存在。
会话与会话之间的
用户数据、索引和统计信息相互隔离,每个会话只能看到和更改自己提交的数据。
全局临时
表有两种模式:一种是基于会话级别的(ON COMMIT PRESERVE ROWS),当会话结束
时自动清空用户数据;一种是基于事务级别的(ON COMMIT PRESERVE ROWS),当执
行commit 或rollback 时自动清空用户数据。建表时如果没有指定ON COMMIT 选项,则缺
省为会话级别。
与本地临时表不同,
全局临时表建表时可以指定非pg_temp_开头的schema。
由于临时表只在当前会话创建,对于涉及对临时表操作的DDL 语句,会产生DDL 失
败的报错。因此,建议DDL 语句中不要对临时表进行操作。TEMP 和TEMPORARY 等价。
须知:
本地临时表通过每个会话独立的以pg_temp 开头的schema 来保证只对当前会话可见,
因此,不建议用户在日常操作中手动删除以pg_tem、pg_toast_temp 开头的schema。
如果建表时不指定TEMPORARY/TEMP 关键字,而指定表的schema 为当前会话的
pg_temp_开头的schema,则此表会被创建为临时表。
ALTER/DROP 全局临时表和索引,如果其它会话正在使用它,禁止操作。
全局临时表的DDL 只会影响当前会话的用户数据和索引。
例如truncate、
reindex、
analyze
只对当前会话有效。
说明:SELECT INTO 的其它参数可参考SELECT 的参数说明。
示例
--将tpcds.reason 表中r_reason_sk 小于5 的值加入到新建表中。
gbase=#SELECT * INTO tpcds.reason_t1 FROM tpcds.reason WHERE r_reason_sk < 5;
INSERT 0 6
--删除tpcds.reason_t1 表。
gbase=#DROP TABLE tpcds.reason_t1;
相关命令

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1251
SELECT
优化建议

DATABASE
不建议在事务中reindex database。

SYSTEM
不建议在事务中reindex 系统表。

全局变量
通过本功能您可以查看全局变量信息,如下图所示:

GBaseDataStudio 管理工具手册
- 102 -
南大通用数据技术股份有限公司
图5- 440 全局变量