内容提要
GBase 8c 是一种支持主备和分布式部署的多模态数据库。通过 dbe_perf.statement 系统视图,可以分析 SQL 执行时间,包括总执行时间、执行器时间和优化器时间。该视图只能在 CN 或主节点查询,数据来源于 g_instance.stat_cxt.UniqueSQLHashtbl 哈希表。文章还介绍了如何检索 SQL 统计信息、计算平均执行时间,以及清除统计数据的方法。
关键要点
-
GBase 8c 是一种支持主备和分布式部署的多模态数据库。
-
dbe_perf.statement 系统视图用于分析 SQL 执行时间,包括总执行时间、执行器时间和优化器时间。
-
该视图只能在 CN 或主节点查询,数据来源于 g_instance.stat_cxt.UniqueSQLHashtbl 哈希表。
-
可以通过配置 instr_unique_sql_count GUC 参数调整记录的 SQL 条目数量,默认值为 100。
-
重启节点时,哈希表的内容会被清除。
-
示例展示了如何检索 SQL 语句的统计信息,包括执行次数和平均执行时间。
-
db_time 表示 SQL 的总执行时间,CPU_time 表示实际 CPU 时间。
-
可以通过调用 reset_unique_sql 函数清除统计数据并重新开始收集。
-
reset_unique_sql 函数有三个参数:清除类型、清除值和清除范围。
延伸问答
GBase 8c 是什么类型的数据库?
GBase 8c 是一种支持主备和分布式部署的多模态数据库。
如何使用 dbe_perf.statement 系统视图分析 SQL 执行时间?
可以通过查询 dbe_perf.statement 视图来分析 SQL 执行时间,包括总执行时间、执行器时间和优化器时间。
dbe_perf.statement 视图的数据来源是什么?
该视图的数据来源于 g_instance.stat_cxt.UniqueSQLHashtbl 哈希表。
如何调整 dbe_perf.statement 记录的 SQL 条目数量?
可以通过配置 instr_unique_sql_count GUC 参数来调整记录的 SQL 条目数量,默认值为 100。
重启节点后,dbe_perf.statement 视图的数据会发生什么变化?
重启节点时,哈希表的内容会被清除。
如何清除 SQL 统计数据并重新开始收集?
可以调用 reset_unique_sql 函数清除统计数据,函数有三个参数:清除类型、清除值和清除范围。