检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DBE_XML.XML_PARSER_GET_DOC的函数原型为: 1 2 3 DBE_XML.XML_PARSER_GET_DOC( id IN RAW(13)) RETURNS RAW(13); 表3 DBE_XML.XML_PARSER_GET_DOC接口参数说明 参数 类型
操作数据库 本节描述使用数据库的基本操作。通过此节您可以完成创建数据库用户、创建数据库、创建表及向表中插入数据和查询表中数据等操作。 创建数据库用户 创建和管理数据库 创建和管理表空间 创建和管理表 查看系统表 其他操作 父主题: 数据库使用入门
STAT_DATABASE 显示数据库当前节点的统计信息。 表1 STAT_DATABASE字段 名称 类型 描述 datid oid 数据库的OID。 datname name 此数据库的名称。 numbackends integer 当前连接到该数据库的后端数。 xact_commit
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
'F')) cur.execute("INSERT INTO student(id,name,sex) VALUES(%s,%s,%s)",(3,'Dixheral','M')) # 批量插入数据。 stus = ((4,'John','M'),(5,'Alice','F'),(6
Psycopg接口参考 Psycopg接口是一套提供给用户的API方法,本节将对部分常用接口做具体描述。 psycopg2.connect() connection.cursor() cursor.execute(query,vars_list) cursor.executemany(query
开发流程 图1 ecpg整体开发流程 图2 嵌入式SQL-C程序开发流程 父主题: 基于ecpg开发
ecpg组件介绍 ecpg支持平台 表1 ecpg支持平台 操作系统 平台 EulerOS V2.0SP5 x86_64位 EulerOS V2.0SP9 ARM64位 ecpg组件 ecpg:用于对嵌入式SQL-C进行预处理的可执行二进制文件。 libecpg:为ecpg提供连
宿主变量 本节详细介绍如何在C语言程序和嵌入式SQL程序之间使用宿主变量传递数据。在嵌入式SQL-C程序中,将C语言作为宿主语言,将EXEC SQL [Command]语句认为是宿主语言的嵌入式SQL,因此将C语言程序中用于嵌入式SQL语句的变量称为宿主变量。 概述 声明段 检索查询
错误处理 有两种非互斥的方法可以处理嵌入式SQL程序的异常情况和告警: 使用WHENEVER命令设置回调,处理告警和错误条件。 通过sqlca获取错误或者告警的详细信息,进行相应处理。 设置回调 sqlca SQLSTATE与SQLCODE 父主题: 基于ecpg开发
预处理指令 本节介绍ecpg提供的预处理指令,用于处理宏定义、文件包含和条件编译的程序指令。 包含文件 ifdef、ifndef、else、elif和endif指令 define和undef指令 父主题: 基于ecpg开发
使用库函数 ECPGdebug(int on, FILE *stream):若函数第一个参数为非0,则开启调试日志,第二个参数表示要打印日志的标准输出流。调试日志在标准输出流上执行,日志包含所有输入的SQL语句以及来自GaussDB Kernel服务器的结果。 示例: #include
ecpg接口参考 ecpg接口参考主要介绍pgtypes库提供的用户在嵌入式SQL-C源码程序中可使用的数据类型相关接口。pgtypes库将SQL数据类型映射到C语言数据类型,并提供一些接口实现其基本功能和运算。 区间类型 数值类型 日期类型 时间戳类型 父主题: 基于ecpg开发
schema_test.t2(c1,c2) 多列统计信息未收集: Statistic Not Collect: schema_test.t3((c1,c2)) 单列和多列统计信息未收集: Statistic Not Collect: schema_test.t4(c1,c2)
null条件替换。此时SQL变为: 1 2 3 select a, c from t1 left join (select avg(a) avg, t3.b from t3 group by t3.b) as t3 on (t1.a = avg and t1.b = t3.b) where t3.b is not
Filter: (c1 = 10004) Rows Removed by Filter: 110000 (3 rows) 1 2 3 4 5 6 7 8 9 10 11 12 13 gaussdb=# create index idx on t1(c1);
经验总结:SQL语句改写规则 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守这些规则,常常能够大幅度提升业务查询效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union
案例:建立合适的索引 现象描述 查询与销售部所有员工的信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 --建表。 CREATE TABLE staffs (staff_id
案例:改建分区表 现象描述 如下简单SQL语句查询, 性能瓶颈点在normal_date的Scan上。 1 2 3 4 5 6 7 QUERY PLAN
pg_type REGTYPE pg_type 数据类型名。 integer OID类型:主要作为数据库系统表中字段使用。 示例: 1 2 3 4 5 gaussdb=# SELECT oid FROM pg_class WHERE relname = 'pg_type'; oid