一 概述 1.物理分頁 物理分頁依賴的是某一物理實體,這個物理實體就是資料庫,比如MySQL資料庫提供了limit關鍵字,程式員只需要編寫帶有limit關鍵字的SQL語句,資料庫返回的就是分頁結果。 2.邏輯分頁 邏輯分頁依賴的是程式員編寫的代碼。資料庫返回的不是分頁結果,而是全部數據,然後再由程式 ...
一 概述
1.物理分頁
物理分頁依賴的是某一物理實體,這個物理實體就是資料庫,比如MySQL資料庫提供了limit關鍵字,程式員只需要編寫帶有limit關鍵字的SQL語句,資料庫返回的就是分頁結果。
2.邏輯分頁
邏輯分頁依賴的是程式員編寫的代碼。資料庫返回的不是分頁結果,而是全部數據,然後再由程式員通過代碼獲取分頁數據,常用的操作是一次性從資料庫中查詢出全部數據並存儲到List集合中,因為List集合有序,再根據索引獲取指定範圍的數據。
二 對比
1.資料庫負擔
物理分頁每次都訪問資料庫,邏輯分頁只訪問一次資料庫,物理分頁對資料庫造成的負擔大。
2.伺服器負擔
邏輯分頁一次性將數據讀取到記憶體,占用了較大的內容空間,物理分頁每次只讀取一部分數據,占用記憶體空間較小。
3.實時性
邏輯分頁一次性將數據讀取到記憶體,數據發生改變,資料庫的最新狀態不能實時反映到操作中,實時性差。物理分頁每次需要數據時都訪問資料庫,能夠獲取資料庫的最新狀態,實時性強。
4.適用場合
邏輯分頁主要用於數據量不大、數據穩定的場合,物理分頁主要用於數據量較大、更新頻繁的場合。