分頁查詢效果及實現
1、爲什麼需要分頁?
數據過多,一頁內無法顯示,所以需要分頁顯示
2、分頁技術實現:兩種物理分頁和邏輯分頁
物理分頁:在
數據庫執行查詢時(實現分頁查詢),查詢需要的數據 ---- 依賴數據庫SQL語句,屬於後臺分頁
邏輯分頁:先查詢所有數據到內存,再從內存截取需要數據 ------- 採用程序內部邏輯,屬於前臺分頁
邏輯分頁利用遊標分頁,好處是所有數據庫都統一,壞處就是效率低。
mybatis的物理分頁插件:
常見的兩種: Mybatis-Paginator Mybatis-PageHelper
物理分頁:Mysql /SQLServer / Oracle 每種數據庫寫法不同的
limit語法 : select .... limit 開始記錄索引,記錄條數
例如:select * from tablename limit 10,20; // 注意索引是從0開始的,因此10代表第11條數據 ------ 20代表從第11條開始的20條數據,即從第11條到第30條。
邏輯分頁:查詢所有數據 List, list.subList 截取你需要數據
例如:查詢第11到第30條數據 list.subList(開始索引,結束索引); // 前取到,後取不到 ----- list.subList(10,30);
** 性能上 :物理分頁好於邏輯分頁 ---- 儘量使用物理分頁