检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于ODBC开发 ODBC(Open Database Connectivity,开放数据库互连)是由MS公司基于X/OPEN CLI提出的用于访问数据库的应用程序编程接口。应用程序通过ODBC提供的API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。
使用Plan Hint进行调优 Plan Hint调优概述 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint 运行倾斜的hint 配置参数的hint Hint的错误、冲突及告警 Plan Hint实际调优案例
动态调用匿名块 动态调用匿名块是指在动态语句中执行匿名块,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_anonymous_block::= using_clause子句的语法参见图2。 图2 using_clause-4
PG_PROC PG_PROC系统表存储函数或过程的信息。 表1 PG_PROC字段 名称 类型 描述 proname name 函数名。 pronamespace oid 此函数所在命名空间的OID。 proowner oid 函数的所有者。 prolang oid 实现语言或函数的调用接口。
PV_FILE_STAT PV_FILE_STAT视图通过对数据文件IO的统计,反映数据的IO性能,用于发现IO操作异常等性能问题。 表1 PV_FILE_STAT字段 名称 类型 描述 filenum oid 文件标识。 dbid oid 数据库标识。 spcid oid 表空间标识。
c_last_name ... 图3 hint调优 发现时间基本花在了第6层redistribute算子上,需要进一步优化。 由于最后一层redistribute包含倾斜,所以时间较长。为了避免倾斜,需要将item表放在最后join,由于item表的join并不能使行数减少。修改hint如下并执行,计划如下,运行时间120s:
告警属性 告警ID 告警归属 告警级别 告警类型 业务类型 是否可自动清除 DWS_2000000009 管理面 >90% 紧急 操作告警 数据仓库服务 是 告警参数 类别 参数名称 参数含义 定位信息 名称 DWS集群节点数据盘I/O利用率超阈值。 类型 操作告警。 发生时间 告警发生时间。
案例:使用partial cluster key 列存表可以选取某一列或几列设置为partial cluster key(column_name[, ...])。在导入数据时,按设置的列进行局部排序(默认每70个CU即420万行排序一次),生成的CU会聚集在一起,即CU的min,
GLOBAL_ROW_TABLE_IO_STAT GLOBAL_ROW_TABLE_IO_STAT视图提供当前数据库所有行存表的IO统计数据。其字段的名称、类型和顺序与GS_ROW_TABLE_IO_STAT视图相同,具体的字段请参考表1。各统计字段为所有节点对应字段之和。 表1
PGXC_WLM_SESSION_STATISTICS PGXC_WLM_SESSION_STATISTICS视图显示在所有CN上正在执行的作业的负载管理信息。 表1 PGXC_WLM_SESSION_STATISTICS的字段 名称 类型 描述 datid oid 连接后端的数据OID。
PGXC_WLM_SESSION_STATISTICS PGXC_WLM_SESSION_STATISTICS视图显示在所有CN上正在执行的作业的负载管理信息。 表1 PGXC_WLM_SESSION_STATISTICS的字段 名称 类型 描述 datid oid 连接后端的数据OID。
GS_RESPOOL_RESOURCE_INFO GS_RESPOOL_RESOURCE_INFO视图显示CN上所有资源池作业运行信息以及当前实例(CN/DN)所有资源池资源使用信息。 DN上仅显示当前DN所属逻辑集群的资源池监控信息。 表1 GS_RESPOOL_RESOURCE_INFO字段
GS_QUERY_RESOURCE_INFO GS_QUERY_RESOURCE_INFO视图显示当前DN节点所有正在运行作业的资源信息。该参数仅9.1.0及以上集群版本支持。 该视图只能在DN节点上查询。仅适用于运维操作定位问题,不建议用户使用。 表1 GS_QUERY_RESOURCE_INFO
= (SQLLEN*)malloc(sizeof(bufLenCols[0]) * batchCount); // 该行是否需要被处理,SQL_PARAM_IGNORE 或 SQL_PARAM_PROCEED operptr = (SQLUSMALL
= (SQLLEN*)malloc(sizeof(bufLenCols[0]) * batchCount); // 该行是否需要被处理,SQL_PARAM_IGNORE 或 SQL_PARAM_PROCEED operptr = (SQLUSMALL
by子句也可以指定distinct子句中的列。 指定的分布列,需要用group by或distinct中的列序号来表示,不可以指定列名。 对于多层的查询,可以在每层指定对应层的分布列hint,只在当前层生效。 指定了分布列,如果优化器估算后发现不需要重分布,则指定的分布列无效。 建议 通常优化器
GS_WLM_USER_RESOURCE_HISTORY GS_WLM_USER_RESOURCE_HISTORY系统表存储与用户使用资源相关的信息,该表在CN和DN上均存有数据。该系统表的每条记录都是对应时间点某用户的资源使用情况,包括:内存、CPU核数、存储空间、临时空间、算
288 | 0 | 155 (6 rows) 如果需要显示“mean_tps”数值中小数点前的0,需要在behavior_compat_options参数中设置display_leading_zero(浮点数显示配置项)。
-------------- GaussDB(DWS) (1 row) 由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将该函数记录入执行历史。即无法在gsql里通过上下翻页功能找到该函数的执行历史。 此函数需要结合gs_encrypt加密函数共同使用,且加密算法和HMAC算法要保证一致。
EXISTS子链接提升和包含Agg等值相关子链接提升。该hint通常会和前面章节提到的hint联合使用。 对于FROM关键字后的子查询,则需要使用子查询的别名进行hint,block_name hint不会被用到。 如果子链接中含有多个表,则提升后这些表可与外层表以任意优化顺序连接,hint也不会被用到。