检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行动态SQL语句 在大多数情况下,应用程序执行的SQL语句在编写应用程序时必须是已知的。但是在某些情况下,SQL语句是在运行时进行构造或由外部源提供的。这种情况下不能将SQL语句直接嵌入到C语言源代码中,但是动态SQL语句支持通过一个字符串变量调用所提供的SQL语句。 执行没有结果集的语句
预处理指令 本节介绍ecpg提供的预处理指令,用于处理宏定义、文件包含和条件编译的程序指令。 包含文件 ifdef、ifndef、else、elif和endif指令 define和undef指令 父主题: 基于ecpg开发
ecpg接口参考 ecpg接口参考主要介绍pgtypes库提供的用户在嵌入式SQL-C源码程序中可使用的数据类型相关接口。pgtypes库将SQL数据类型映射到C语言数据类型,并提供一些接口实现其基本功能和运算。 区间类型 数值类型 日期类型 时间戳类型 父主题: 基于ecpg开发
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 子查询调优 统计信息调优 算子级调优 父主题: SQL调优指南
实际调优案例 案例:调整查询重写GUC参数rewrite_rule 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:改建分区表 案例:改写SQL消除子查询 案例:改写SQL消除in-clause 父主题: SQL调优指南
字符集与字符序 字符集(Character Set)是字符的编码规则,字符序(Collation)是字符的排序规则,本章主要对GaussDB的B模式(即sql_compatibility = 'B')下的字符集、字符序进行介绍,以下介绍的字符集、字符序规则和语法仅在B模式下支持。
Operator OPERATOR_HISTORY_TABLE OPERATOR_HISTORY OPERATOR_RUNTIME GLOBAL_OPERATOR_HISTORY GLOBAL_OPERATOR_HISTORY_TABLE GLOBAL_OPERATOR_RUNTIME
AI Watchdog ai_watchdog_monitor_status ai_watchdog_detection_warnings ai_watchdog_parameters ai_watchdog_ftask_status 父主题: DBE_PERF Schema
ai_watchdog_parameters 表1 ai_watchdog_parameters参数 参数 类型 描述 name text 参数名称,包括如下常用参数: enable_ai_watchdog:是否开启本功能。 ai_watchdog_max_consuming_time_ms
DBE_PLDEBUGGER Schema DBE_PLDEBUGGER Schema下的系统函数用于调试存储过程,目前支持的接口及其描述如下所示。 仅管理员有权限执行这些调试接口,但在该schema上无修改和创建新函数的权限。普通用户只能调试在public schema或用户创建
GUC参数说明 GUC使用说明 文件位置 连接和认证 资源消耗 数据导入导出 预写式日志 双机复制 查询规划 SPM计划管理 错误报告和日志 告警检测 运行时统计 自动清理 客户端连接缺省设置 锁管理 版本和平台兼容性 容错性 连接池参数 事务 双数据库实例复制参数 开发人员选项
其他操作 创建和管理schema 创建和管理分区表 创建和管理索引 创建和管理视图 创建和管理序列 创建和管理定时任务 父主题: 数据库使用
最佳实践 表设计最佳实践 导入最佳实践 SQL查询最佳实践 数据倾斜查询最佳实践
数据倾斜查询最佳实践 导入过程存储倾斜即时检测 快速定位查询存储倾斜的表 父主题: 最佳实践
基于libpq开发 libpq是GaussDBC应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了两个示例显示如何利用libpq编写代码。
链接参数 表1 链接参数 参数 描述 host 要链接的主机名。如果主机名以斜杠开头,则它声明使用Unix域套接字通讯而不是TCP/IP通讯;该值就是套接字文件所存储的目录。如果没有声明host,那么默认是与位于/tmp目录(或者安装GaussDB的时候声明的套接字目录)里面的Unix
基于Psycopg开发 Psycopg是一种用于执行SQL语句的PythonAPI,可以为PostgreSQL、GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
导入数据 GaussDB提供了灵活的数据入库方式:GDS、INSERT、COPY以及gsql元命令\copy。各方式具有不同的特点:GDS因其并行的特点,导入效率高,适用于大批量数据的入库;其他三种方式适用于小批量数据入库,可以考虑其特点自行选择。各导入方式的特点请参见表1。 表1
示例 示例1:Normal策略导入 示例2:Shared策略导入 示例3:Private策略导入 父主题: 通过外表并行导入