报表分页的问题
在做明细报表查询的时候,
有一系列查询条件,然后将查询条件组合到 where 条件中。然后通过 jdbc 接口发给 服务器。
如果服务器查询后的结果集,有 1 万行。会一起通过 jdbc 接口返回给业务层吗?
如果不是一次性返回,那么分页的参数,是什么时候传递给服务端?从查询的参数里面,没有看到分页的参数?
进一步:
如 spl 继承了 jdbc 的接口,进行中间层计算。那么 spl 计算之后返回的结果集中,如何控制分页,还是一次性全部返回给 调用方?
"在做明细报表查询的时候, 有一系列查询条件,然后将查询条件组合到 where 条件中。然后通过 jdbc 接口发给 服务器。 如果服务器查询后的结果集,有 1 万行。会一起通过 jdbc 接口 .."
在做明细报表查询的时候,
有一系列查询条件,然后将查询条件组合到 where 条件中。然后通过 jdbc 接口发给 服务器。
如果服务器查询后的结果集,有 1 万行。会一起通过 jdbc 接口返回给业务层吗?
如果不是一次性返回,那么分页的参数,是什么时候传递给服务端?从查询的参数里面,没有看到分页的参数?
进一步:
如 spl 继承了 jdbc 的接口,进行中间层计算。那么 spl 计算之后返回的结果集中,如何控制分页,还是一次性全部返回给 调用方?
要么全返回,要么用游标,JDBC 本质上没有分页,想分页自己配几个参数来过滤就行了(SPL 写这个很容易,不需要专门的参数和机制来处理),数据库也是这么干的。下次再来会重算的,所以你会发现数据库分页在结果集很大是翻到后面都很慢。
不想重复算,就要自己缓存起来,但这件事并不简单,返回和缓存需要异步同时进行(不然前端感觉迟钝),润乾报表里有大报表机制来自动处理,其它报表工具还没见到过。