检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
调优流程 对慢SQL语句进行分析,通常包括以下步骤: 操作步骤 收集SQL中涉及到的所有表的统计信息。在数据库中,统计信息是优化器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见更新统计信息。
分区表查询优化 本节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区索引 分区表统计信息 Partition-wise Join 父主题: 分区表
数据库执行语句函数 与数据库服务器的连接成功建立,便可以使用这里描述的函数执行SQL查询和命令。 PQexec PQprepare PQresultStatus PQclear PQfnumberEx 父主题: libpq接口参考
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
特性约束 类别 特性 是否支持 事务 Serializable × 在事务块中对分区表执行DDL操作 × 可扩展性 Hashbucket × SQL Table sampling/物化视图/键值锁 × 父主题: Ustore特性与规格
二次封装接口(推荐) DBE_LOB DBE_RANDOM DBE_OUTPUT DBE_RAW DBE_TASK DBE_SCHEDULER DBE_SQL DBE_FILE DBE_UTILITY DBE_SESSION DBE_MATCH DBE_APPLICATION_INFO
分区表查询优化 本节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区算子执行优化 分区索引 分区表统计信息 Partition-wise Join 父主题: 分区表
基于ecpg开发 ecpg(embedded SQL C preprocessor for GaussDB Kernel)是一种用于C语言程序的嵌入式SQL预处理器。一个嵌入式SQL程序由一种普通编程语言编写的代码(此处为C语言)和SQL命令共同组成。要构建该程序,源代码(*.p
日期与时间数据类型 表1 日期与时间数据类型 MySQL数据库 GaussDB数据库 差异 DATE 支持,存在差异 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂
PL/SQL语言 GaussDB数据库基本兼容的PL/SQL操作符、表达式,控制语句、集合和record等等,不支持预定义的PL/SQL常量和类型、子类型等。 PL/SQL基本语法 数据类型兼容性 控制语句 集合和Record 静态SQL 动态SQL Trigger
INFORMATION_SCHEMA_CATALOG_NAME 用来显示当前所在的database的名称,如表1所示。 表1 INFORMATION_SCHEMA_CATALOG_NAME字段 名称 类型 描述 catalog_name information_schema.sql_identifier
数据库执行语句函数 与数据库服务器的连接成功建立,便可以使用这里描述的函数执行SQL查询和命令。 PQclear PQexec PQexecParams PQexecParamsBatch PQexecPrepared PQexecPreparedBatch PQprepare PQfnumberEx
INFORMATION_SCHEMA_CATALOG_NAME 用来显示当前所在的database的名称,如表1所示。 表1 INFORMATION_SCHEMA_CATALOG_NAME字段 名称 类型 描述 catalog_name information_schema.sql_identifier
PRVT_ILM PRVT_ILM接口为ILM特性内部使用,用户无法直接调用,只列举接口名称不做详细接口原型描述。 接口名称 描述 be_active_ado_window 维护窗口触发动作,刷新ilmadowindow触发时间及动作。 be_create_ado_window_for_each_db
错误处理 有两种非互斥的方法可以处理嵌入式SQL程序的异常情况和告警: 使用WHENEVER命令设置回调,处理告警和错误条件。 通过sqlca获取错误或者告警的详细信息,进行相应处理。 设置回调 sqlca SQLSTATE与SQLCODE 父主题: 基于ecpg开发
JSON/JSONB函数和操作符 JSON/JSONB数据类型参考JSON/JSONB类型。 表1 JSON/JSONB通用操作符 操作符 左操作数类型 右操作数类型 返回类型 描述 示例 -> Array-json(b) int json(b) 获得array-json元素。下标不存在返回空。
JSON/JSONB函数和操作符 JSON/JSONB数据类型参考JSON/JSONB类型,操作符参见表1、表2。 表1 JSON/JSONB通用操作符 操作符 左操作数类型 右操作数类型 返回类型 描述 示例 -> Array-json(b) int json(b) 获得array-json元素。下标不存在返回空。
PL/SQL语言 GaussDB数据库基本兼容的PL/SQL操作符、表达式,控制语句、集合和record等等,不支持预定义的PL/SQL常量和类型、子类型等。 PL/SQL基本语法 数据类型兼容性 控制语句 集合和Record 静态SQL 动态SQL Trigger
层次递归查询函数 层次递归查询语句中可使用以下函数返回连接路径上的相关信息。 sys_connect_by_path(col, separator) 描述:仅在层次递归查询中适用,用于返回从根节点到当前行的连接路径。 参数col为在路径中显示的列的名称,只支持类型为CHAR/VA
SQL调优关键参数调整 本节将介绍影响GaussDB SQL调优性能的关键数据库主节点配置参数。 表1 数据库主节点配置参数 参数/参考值 描述 enable_nestloop=on 控制查询优化器对嵌套循环连接(Nest Loop Join)类型的使用。当设置为“on”后,优化器优先使用Nest