返回首页

gbase数据、南大通用产品文档:GBase8cGLOBAL_STAT_SYS_INDEXES

更新日期:2024年09月11日

得到各节点pg_catalog、
information_schema 以及pg_toast 模式中所有系统表的索引状态
信息。
名称
类型
描述
node_name
name
数据库进程名称。
relid
oid
这个索引的表的OID。
indexrelid
oid
索引的OID。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
968
名称
类型
描述
schemaname
name
索引中模式名。
relname
name
索引的表名。
indexrelnam
e
name
索引名。
idx_scan
bigint
索引上开始的索引扫描数。
idx_tup_read
bigint
通过索引上扫描返回的索引项数。
idx_tup_fetc
h
bigint
通过使用索引的简单索引扫描抓取的活表行数。

当 GBase 8s ESQL/C 应用程序使用 DECLARE 和 OPEN 语句来执行游标时,每一
语句涉及在应用程序与数据库服务器之间的消息请求的往返过程。“优化
OPEN-FETCH-CLOSE”特性(OPTOFC)减少往返过程两次,如下:
GBase 8s ESQL/C 节省一次往返过程,因为它不作为分开的命令发送 OPEN 语句。
当 GBase 8s ESQL/C 执行 OPEN 语句时,它不打开该游标。反而,它保存在 OPEN
语句的 USING 子句中提供了的任何输入值。
当 GBase 8s ESQL/C 执行初始的 FETCH 语
句时,它与该 FETCH 语句一道发送此输入值。数据库服务器打开该游标,并返回在此游
标中的第一个值。

GBase 8s ESQL/C 节省第二次往返过程,
因为它不作为分开的命令发送 CLOSE 语句。

当数据库服务器达到打开游标的最后的值时,在它将最后的值发送至客户机应用程序
之后,它自动地关闭该游标。因此,GBase 8s ESQL/C 不需要将 CLOSE 语句发送至数据
库服务器。

重要: GBase 8s ESQL/C 不将 CLOSE 语句发送至数据库服务器。然而,如果您包
括该 CLOSE 语句,则不生成错误。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 444 -

对 OPTOFC 的限制
对于启用的 OPTOFC 特性,存在下列限制:
您仅可对准备了其 SELECT 语句的选择游标使用 OPTOFC 特性。
例如,
OPTOFC 特
性为下列选择游标减少网络往返过程:
/* Valid select cursor for OPTOFC optimization */
EXEC SQL prepare sel_stmt 'select * from customer';
EXEC SQL declare sel_curs cursor for sel_stmt;

OPTOFC 特性消除作为分开的步骤的 OPEN 语句的执行。因此,不返回打开该游标
可能生成的任何错误条件,直到初始的 FETCH 之后为止。
当关闭静态游标时,不释放游标。
随同启用的 OPTOFC 特性,
当关闭静态游标或动态游标时,
不释放它们。
由于 GBase
8s ESQL/C 实际上不将 CLOSE 语句发送至数据库服务器,因此,不隐式地释放游标。对
游标的后续的 OPEN 和 FETCH 实际上打开同一个游标。
如果更改了表
(如果删除了、

改了或重命名了它)

则数据库服务器仅在此时会注意到,
在此情况下,
它生成错误
(-710)


随同禁用的 OPTOFC 特性,当关闭静态游标时,释放它。当 ESQL/C 达到静态游标
的 CLOSE 语句,
它实际上发送消息来关闭该游标,
并释放与此游标相关联的内存。
然而,
当关闭动态游标时,不隐式地释放它们。

对于在至数据库服务器的途中延迟的 SQL 语句,GET DIAGNOSTICS 语句不奏效。
例如,
下列 SQL 语句序列中,
GET DIAGNOSTICS 返回 0,
指示成功,
即使延迟该 OPEN,
直到首次访存为止:
EXEC SQL declare curs1 …
EXEC SQL open curs1
EXEC SQL get diagnostic
EXEC SQL fetch curs1
启用 OPTOFC 特性
OPTOFC 环境变量启用 OPTOFC 特性。

您可将下列值指定给 OPTOFC 环境变量。
1
此值启用 OPTOFC 特性。当您指定此值时,您为该应用程序的每个线程中的每个游
标启用 OPTOFC 特性。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 445 -

0
此值为该应用程序的所有线程禁用 OPTOFC 特性。

OPTOFC 环境变量的缺省值为 0。如果您从 shell 设置此环境变量,则请确保在您启
用 ESQL/C 应用程序之前设置它。

在 UNIX(TM) 操作系统上,您可在应用程序中以 putenv() 系统调用来设置 OPTOFC
(只要您的系统支持 putenv() 函数)

例如,
下列对 putenv() 的调用启用 OPTOFC 特性:
putenv("OPTOFC=1");

在 Windows(TM) 环境中,您可使用 ifx_putenv() 函数。

以 putenv() 或 ifx_putenv(),
您可为每一连接或在每一线程内激活或去激活 OPTOFC
特性。您必须在建立连接之前调用 putenv() 或 ifx_putenv() 函数。

重要: GBase 8s 实用程序不支持 IFX_AUTOFREE、OPTOFC 和
IFX_DEFERRED_PREPARE 环境变量。请仅以 GBase 8s ESQL/C 客户机应用程序来使用
这些环境变量。

数据类型是一组值的集合以及定义在这个值集上的一组操作。GBase 8c 数据库是由表
的集合组成的,而各表中的列定义了该表,每一列都属于一种数据类型,GBase 8c 根据数
据类型有相应函数对其内容进行操作,例如GBase 8c 可对数值型
数据进行加、减、乘、
除操作。