返回首页

gbase数据、南大通用产品文档:GBase8aJOIN 关联优化策略

更新日期:2024年09月11日


逐个排查右表,对于右表是分布表且破坏hash 分布的,如果数据量小,直接
修改为复制表,避免将大表进行拉表操作;如果数据量大(1 亿条记录以上
的),通过调整gcluster_hash_redistribute_join_optimize 参数进行验证,参数
设置

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1305

说明如下:

0 -- 拉复制表

1 -- 重分布

2 -- 自动评估,根据数据量,左右表行数接近使用重分布,如果差距大,则
小表拉复制表。
注意
遇到left join 语句时,评估右表是否建为复制的原则是:

如果右表的字段不大于10 个,且记录数不大于5000 万行,则右表创建为
复制表;

如果右表字段数大于10 个,且记录数不大于1000 万,则右表创建为复制
表。

GBase 8s ESQL/C 支持从非 ANSI 格式的数据时间字符串到 DATETIME 数据类型
的转换。此转换可以更轻松地从亚洲语言支持(ALS)客户端/服务器升级到全球语言支持
(GLS)客户端/服务器产品。
USE_DTENV 环境变量
GBase 8s ESQL/C 使用 USE_DTENV 环境变量支持非 ANSI 日期时间格式。

当启用 USE_DTENV 环境变量是,使用以下顺序或优先级:
DBTIME
GL_DATETIME
CLIENT_LOCALE
LC_TIME
LANG (如果未设置 LC_TIME)
ANSI 格式

启用时,USE_DTENV 环境变量从 ESQL/C 程序传递到数据库服务器。为数据库服
务器启用它不起作用。您必须将其设置为 ESQL/C 客户端应用程序,然后将其传递给数据
库服务器。

如果数据库服务器不支持非 ANSI 日期-时间格式,那么不要为 ESQL/C 客户端程序
设 USE_DTENV 环境变量。

必须设置此环境变量以在使用非缺省语言环境的数据库中正确显示本地化的
DATETIME 值,并且 GL_DATETIME 环境变量具有非缺省值。

使用 onmode -wf 或 onmode -wm 命令动态更改指定的配置参数。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 375 -

语法:

元素
用途
关键注意事项
-wf
更新 onconfig 文件中指定配置参数的值
DBA 用户必须具
有包含
onconfig文件的
目录的写入权限
-wm
动态设置内存中指定配置参数的值
重启服务器时,
指定的 value
不会预留
config_param = value 指定配置参数及其新值
请参阅 数据库
配置参数

您可以动态使用 onmode -wm 或 -wf command ,运行 onstat -g cfg tunable 命令查看
配置参数列表。
onmode -wf 和 onmode -wm 命令有等同的 SQL 管理 API 函数。
onmode -wm: 更改 LRU 调整状态
使用 onmode -wm 选项更改 LRU 调整状态,不用更新 onconfig 文件。
语法:

元素
用途
关键注意事项
-wm
为当前会话动态设置指定
的配置参数的值

0
关闭当前会话的自动 LRU
调整

1
开启当前会话的自动 LRU
调整


该命令有等同的 SQL 管理 API 函数。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 376 -