从服务器端缓存/游标一次获取一行,使用Ruby OCI8 gem可能吗?

时间:2014-01-30 22:49:37

标签: ruby caching server-side oci8 large-data

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

1 个答案:

答案 0 :(得分:2)

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

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

注意:ruby-oci8 2.2.0中的默认预取行大小已更改为100.