1. 程式人生 > >資料庫物理分頁和邏輯分頁簡單介紹

資料庫物理分頁和邏輯分頁簡單介紹

1、物理分頁:

        物理分頁就是資料庫本身提供了分頁方式,如mysql的limit,好處是效率高,不好的地方就是不同資料庫有不同的搞法。

2、邏輯分頁:

邏輯分頁利用遊標分頁,好處是所有資料庫都統一,壞處就是效率低。

3、常用orm框架採用的分頁技術:

①:hibernate採用的是物理分頁;

②:MyBatis使用RowBounds實現的分頁是邏輯分頁,也就是先把資料記錄全部查詢出來,然在再根據offset和limit截斷記錄返回(資料量大的時候會造成記憶體溢位),不過可以用外掛或其他方式能達到物理分頁效果。

mybatis的物理分頁外掛:

   為了在資料庫層面上實現物理分頁,又不改變原來MyBatis的函式邏輯,可以編寫plugin截獲MyBatis Executor的statementhandler,重寫SQL來執行查詢