0

oci8 gem 查询数据库并获取结果;但是,查询结果的大小是未知的,并且可能太大而无法缓存在个人计算机上。有没有办法查询数据库,将结果存储在服务器端,然后从该集合中逐条获取每条记录?任何帮助将非常感激。

4

1 回答 1

2

这是 ruby​​-oci8 支持的唯一方式。

所有 Oracle 游标都是服务器端游标。仅当客户端请求更多行时,才会将获取的记录发送给客户端。FIY,客户端缓存中的最大行数受OCI8#prefetch_rows=OCI8::Cursor#prefetch_rows=限制。默认值为一。对于大数据,建议将大小增加到 100。

注意:默认预取行大小在 ruby​​-oci8 2.2.0 中更改为 100。

于 2014-02-02T12:55:35.123 回答