2010-09-15 54 views
0

以下是這種情況:如何根據動態驗證標準進行分頁?

我需要顯示頁面上的記錄列表,並且需要分頁。我得到的問題是,是否應顯示記錄取決於從數據庫中選擇後在內存中計算的驗證結果。

例如,50條記錄爲一個頁面:

  1. 選擇50從數據庫
  2. 30記錄記錄驗證後留下

解決方案我現在已經從數據庫中獲取的所有記錄,做驗證,然後獲取有效的記錄列表。尋呼基於這個列表。

有沒有其他的好辦法呢?

回答

1

在最佳情況下,分頁可以分兩步進行。在根據選擇查詢的第一步中,從數據庫中選擇一組行。所有這些行都可以顯示。取代實際的行只是檢索他們的標識符列表。不過這個列表通常可以保存在內存中。第二步是通過詢問n-m項目頁面來查看列表。然後,只有m行正在使用它們的ID完全從數據庫中檢索。

額外的計算步驟是否定具有整個結果集的標識符列表的分頁的想法。

我現在所能想到的現在沒有看到計算,只要在數據庫中插入/更新顯示行,就將計算結果存儲在數據庫中。由於計算結果取決於輸入參數,因此對於每一行和輸入參數的每個範圍,您都可能得到不同的結果。

這會使尋呼成爲可能。執行分頁的第一步現在應包含預先計算的驗證結果,並提供更快地檢索行標識列表。