数据库分页-4

作者:chilleen 来源:千一网络(原创) 日期:2006-6-5

在 B3 中,无法直接跳转到指定页,本分页 B4 可以直接定位到某一页,而且速度应该是所有分页中最快的。

我们知道一般记录都有一个标识,其种子为 1,增量为 1,假设我们称为 id,对于按 id 的排序的分页,如果 id 不断开则会很轻松地取出某一页的记录。

比如每页显示 20 条记录,那么显示第二页就使用 where id>20 and id<=40

可是往往因为记录的删除,id 不再连续,假如我们仍要使用上述方法,就得建立一个连续的 "id"。增加一个字段 pid,数字类型,不重复,在删除一条记录时,将该记录之后的所有 pid 减 1,于是就保持 pid 连续了。

上面说的是先入库的记录显示在前面,实际上一般是后入库的记录显示在前面,于是我们的 pid 就得改改,最后入库的记录的 pid 为 1,记录入库前,将所有记录的 pid 加 1,入库时将该记录的 pid 置为 1。当一条记录删除时,将 id 小于当前记录 id 的所有记录的 pid 减 1。

或者我们直接把某条记录属于某一页存在数据库中,更加方便,只是这样就限定了页的大小。

B4 在分页时速度是最快的,这是牺牲了添加、删除记录时的速度换来的。

相关文章