检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GLOBAL_SESSION_STAT_ACTIVITY 显示数据库内各节点上正在运行的线程相关的信息。 表1 GLOBAL_SESSION_STAT_ACTIVITY字段 名称 类型 描述 coorname text 数据库进程名称。 datid oid 用户会话在后台连接到的数据库OID。
thread)以及辅助线程(auxiliary thread)的阻塞等待情况,具体事件信息请参见15.3.67-表2 等待状态列表、15.3.67-表3 轻量级锁等待事件列表、15.3.67-表4 IO等待事件列表和15.3.67-表5 事务锁等待事件列表。 表1 THREAD_WAIT_STATUS字段
STAT_XACT_USER_FUNCTIONS 显示当前节点本事务内函数执行的统计信息。 表1 STAT_XACT_USER_FUNCTIONS字段 名称 类型 描述 funcid oid 函数标识。 schemaname name 函数所在Schema名。 funcname name
handle integer 事务对应的事务管理器中的槽位句柄,该值恒为-1。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum
GLOBAL_STAT_USER_FUNCTIONS 显示数据库各个节点的用户自定义函数的统计信息(不同节点下的统计信息不进行汇总求和)。 表1 GLOBAL_STAT_USER_FUNCTIONS字段 名称 类型 描述 node_name name 节点名称。 funcid oid
WORKLOAD_SQL_COUNT 显示当前节点workload上的SQL数量分布。 表1 WORKLOAD_SQL_COUNT字段 名称 类型 描述 workload name 负载名称。 select_count bigint select数量。 update_count bigint
SUMMARY_WORKLOAD_TRANSACTION 显示数据库内汇聚的负载事务信息。 表1 SUMMARY_WORKLOAD_TRANSACTION字段 名称 类型 描述 workload name 负载的名称。 commit_counter numeric 用户事务commit数量。
cursor.fetchone() 功能描述 此方法提取查询结果集的下一行,并返回一个元组。 原型 cursor.fetchone() 参数 无。 返回值 单个元组,为结果集的第一条结果,当没有更多数据可用时,返回为“None”。 示例 请参见示例:常用操作。 父主题: Psycopg接口参考
cursor.fetchall() 功能描述 此方法获取查询结果的所有(剩余)行,并将它们作为元组列表返回。 原型 cursor.fetchall() 参数 无。 返回值 元组列表,为结果集的所有结果。空行时则返回空列表。 示例 请参见示例:常用操作。 父主题: Psycopg接口参考
cursor.close() 功能描述 此方法关闭当前连接的游标。 原型 cursor.close() 参数 无。 返回值 无。 示例 请参见示例:常用操作。 父主题: Psycopg接口参考
管理数据库连接 本章节介绍如何建立以及切换数据库连接。 连接数据库 管理连接 父主题: 基于ecpg开发
使用游标 使用游标可以检索出多行的结果集,应用程序必须声明一个游标并且从游标中抓取每一行数据。 声明一个游标: EXEC SQL DECLARE c CURSOR FOR select * from tb1; 打开游标: EXEC SQL OPEN c; 从游标中抓取一行数据: EXEC
预备语句 当传递给SQL语句的值在编译时未知或者同一语句将被使用多次时,可以使用预备语句。 使用命令PREPARE准备语句。对于未知的值使用占位符"?": EXEC SQL PREPARE stmt1 FROM "SELECT oid, datname FROM pg_database
关闭数据库连接 数据库使用完成后关闭数据库连接。 使用如下语句关闭连接: EXEC SQL DISCONNECT [connection]; connection可通过如下方法声明: connection-name(连接名) default(缺省) current(当前) all(所有)
sqlca.sqlerrd[3],sqlca.sqlerrd[4],sqlca.sqlerrd[5]); fprintf(stderr, "sqlwarn: %d
执行计划详解 执行计划 执行信息 父主题: SQL执行计划介绍
审视和修改表定义概述 好的表定义至少需要达到以下几个目标: 减少扫描数据量。通过分区的剪枝机制可以实现该点。 尽量减少随机I/O。通过聚簇可以实现该点。 表定义在数据库设计阶段创建,在SQL调优过程中进行审视和修改。 父主题: 审视和修改表定义
例如: leading(t1 t2 t3 t4 t5)表示:t1、t2、t3、t4、t5先join,五表join顺序及内外表不限。 leading((t1 t2 t3 t4 t5))表示:t1和t2先join,t2做内表;再和t3join,t3做内表;再和t4join,t4做内表;再和t5join,t5做内表。
的优先级。 例如: no nestloop(t1 t2 t3)表示:生成t1、t2、t3三表连接计划时,不使用nestloop。三表连接计划可能是t2 t3先join,再跟t1 join,或t1 t2先join,再跟t3 join。此hint只hint最后一次join的join方
Stream方式的Hint 功能描述 在并行的执行计划中,指定stream的使用方法,可以为broadcast或者redistribute,表示对数据进行广播或者重分布。 语法格式 1 [no] broadcast|redistribute( [@queryblock] table_list)