返回首页

gbase数据、南大通用产品文档:GBase8s结果集

更新日期:2024年09月11日

Statement.execute() 方法的 GBase 8s JDBC Driver 实现返回单个 ResultSet 对象。因为服
务器不支持多个 ResultSet 对象,因此,此实现与 JDBC API 规范不同, JDBC API 规范
规定 Statement.execute() 方法可返回多个 ResultSet 对象。
GBase 8s JDBC Driver 不支持返回多个结果集。
多行的可滚动结果集
“可滚动结果集”一次从服务器访存一行。对“可滚动结果集”的性能提升允许一次访存
多行。在下列示例中,期望得到行 m 至行 n,将这些行访存至 ResultSet 内。只要仅访问
包括在 m 与 n 之间的行,
就不会发生进一步访存。
在此示例中,
期望得到行 50 至行 100,
且 ResultSet 为 SCROLL_INSENSITIVE:
rs.setFetchSize(51);
rs.absolute(49); // one row will be fetched

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 66 -
rs.next() // rs will contain 51 rows
GBase 8s 仅向前访存且仅访存一行,除非使用 DIR_NEXT 访存来访存行。对于
DIR_NEXT 操作,服务器发送行,直到填满访存缓冲区为止,或直到发送最后一行为止。
仅 ResultSet.next() 可生成 DIR_NEXT 操作。
此性能提升不更改 FORWARD_ONLY ResultSet 的行为。不更改访存缓冲区大小的计算。

对于 SCROLL_INSENTIVE ResultSet,由访存大小和行大小来确定访存缓冲区的大小。可
使用 Statement.setFetchSize() 和ResultSet.setFetchSize() 来设置访存大小。
如果访存大小为零,
则使用缺省的访存缓冲区大小。将访存缓冲区大小限定为 32 K。
某些 ResultSet methods 需要关于由查询生成的行数的信息。
这些方法可能导致访存一行来
获取信息,然后重新访存当前行。这些方法是isBeforeFirst()、isLast() 和 absolute(-row)。
此外,setMaxRows() 可为 SCROLL_INSENSITIVE ResultsSet 更改访存缓冲区大小。由于
需要附加的服务器支持来确保高效地使用setMaxRows(),在此时不推荐使
用 ResultSet.setMaxRows()。

此类可以操作GBase
Server 数据库资源,执行DML/DDL 语句,调用存储过
程,获取结果集功能。

UDF(UserDefinedFunction),
用户自定义函数,
用户自行添加函数。
用户可通过UDF、
UDAF 的通用扩展机制自行定义开发高效的SQL 函数(使用C/C++或Python 语言
实现)。
参考
关于UDF 的详细使用请参看本手册5.5.1 章UDF&UDAF 章节。