2010-09-15 56 views
0

以下是这种情况:如何根据动态验证标准进行分页?

我需要显示页面上的记录列表,并且需要分页。我得到的问题是,是否应显示记录取决于从数据库中选择后在内存中计算的验证结果。

例如,50条记录为一个页面:

  1. 选择50从数据库
  2. 30记录记录验证后留下

解决方案我现在已经从数据库中获取的所有记录,做验证,然后获取有效的记录列表。寻呼基于这个列表。

有没有其他的好办法呢?

回答

1

在最佳情况下,分页可以分两步进行。在根据选择查询的第一步中,从数据库中选择一组行。所有这些行都可以显示。取代实际的行只是检索他们的标识符列表。不过这个列表通常可以保存在内存中。第二步是通过询问n-m项目页面来查看列表。然后,只有m行正在使用它们的ID完全从数据库中检索。

额外的计算步骤是否定具有整个结果集的标识符列表的分页的想法。

我现在所能想到的现在没有看到计算,只要在数据库中插入/更新显示行,就将计算结果存储在数据库中。由于计算结果取决于输入参数,因此对于每一行和输入参数的每个范围,您都可能得到不同的结果。

这会使寻呼成为可能。执行分页的第一步现在应包含预先计算的验证结果,并提供更快地检索行标识列表。