Mysql驱动程序具有设置选项,因此不会像在此处http://dev.mysql.com/doc/connector-j/en/connector-j-reference-implementation-notes.html#ResultSet那样在内存中完整读取结果集。
H2有等效选项吗?
谢谢,
答案 0 :(得分:2)
H2目前不支持服务器端游标。但是,它会将大型结果集缓冲到磁盘(作为单独的文件或临时表)。缺点是速度,但它不应该是内存使用问题。
您可以使用set max_memory_rows
设置H2何时缓冲到磁盘的大小。您可以将其附加到数据库URL:jdbc:h2:~/test;max_memory_rows=100000
。
解决方法通常是使用"键集分页"如演示文稿"Pagination Done the Right Way"中所述。这意味着运行多个查询而不是一个。
我的计划是在接下来的几个月内在H2中实现服务器端游标。