板桥大哥,关于您在本期程序员上的大作.

03-06-08 mengz
拜读了您在本期程序员杂志上发表的大作,很受启发.

把数据集每页作为一个Block,的确是种好办法,但看完之后还是觉得不太明白,把每页结果集做为一个block,这个处理过程是在SQL查询中做到的吗?

还是在获取全部数据后再做block,那做出的block存放在哪?

我现在很为实现一个高效又可复用的分页系统发愁,希望你能详细讲讲.

谢谢!

蓝色虾
2003-07-10 07:34
我没bang那么高的水平,但我说说我的理解。

数据集每页并没有作为一个Block,而是一个Block中的一个,block的默认大小为200,如果每页显示10条主题,那么它包括了20页的主题。

Block中保存的是符合查询语句条件的主题或者贴子的ID号码。

for (int i = 0; i < blockStart; i++) {
          rs.next();
}
        // Keep reading results until the result set is exaughsted or
        // we come to the end of the block.
        int count = 0;
        while (rs.next() && count < THREAD_BLOCK_SIZE) {
          threadsList.add(rs.getLong(1));
          count++;
        }
<p>

确实是通过SQL语句的得到的,因为产生了rs嘛,接着将这些ID号交给jive实现的一个迭代器,通过ID号查询每条内容。

猜你喜欢