我想知道在使用OFFSET
和LIMIT
进行分页之前,是否存在更佳的从JOOQ查询中获取总行数的方法>
我们尝试使用JOOQ的合成SEEK子句,但是因为我们的ID是无序的UUID,所以它不起作用。
我们当前的实现是在设置偏移量和限制以获取结果/行数之前第一次执行两次查询。
然后我们在第二个查询中获得结果。
SelectQuery<Record> select = context.selectQuery(); select.addSelect(FOO_TABLE.fields()); select.addFrom(FOO_TABLE); int totalElements = select.fetch().size(); select.addOffset(20); select.addLimit(50)); List<Foo> paginatedFoo = select.fetchInto(Foo.class);
这只是该实现/设计所必须接受的东西,还是有任何JDBC驱动程序魔术可以消除在数据库上执行两个查询的需要?
欢迎任何意见或建议!
我很想知道在使用OFFSET和LIMIT进行分页之前,是否存在从JOOQ查询中获取总行数的最佳方法。但是,由于...