SQL分页查询的介绍以及好处~~
SQL分頁查詢的介紹以及好處~~
分頁查詢
?
就是將過多的結果在有限的界面上分多頁來顯示,一般將分頁查詢分為兩類:
邏輯分頁、物理分頁。
邏輯分頁是在用戶第一次訪問時,將數據庫的所有記錄全部查詢出來,添加到一個大集合中,然后存放在session對象,再通過頁碼計算出當前頁需要顯示的數據內容,存儲到一個小的list的集合中,并將其存儲到request對象中,跳轉到JSP頁面,進行遍歷顯示。 當用戶第二次訪問時,只要不關閉瀏覽器,還會從session中獲取數據,來進行顯示。因為此種方法是在內存的session對象中進行計算分頁顯示的,而不是真正的將我們數據庫進行分頁的,所以叫做邏輯分頁。
缺點:如果需要查詢的數據量過大,session將耗費大量的內存;因為是在session中獲取數據,如果第二次或者更多此的不關閉瀏覽器訪問,會直接訪問session,從而不能保證數據是最新的。
優點:統一代碼處理方式,較容易跨數據庫做遷移。
物理分頁,使用數據庫自身所帶的分頁機制,例如,Oracle數據庫的rownum,或者Mysql數據庫中的limit等機制來完成分頁操作。因為是對數據庫的數據進行分頁條件查詢,所以叫物理分頁。每一次物理分頁都會去連接數據庫。
優點:數據能夠保證最新,由于根據分頁條件會查詢出少量的數據,所以不會占用太多的內存。
?
CTE(Common Table Expression,公用表表達式)
?
該表達式源自簡單查詢,可以認為是在單個 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 語句的執行范圍內定義的臨時結果集。CTE 與派生表類似,具體表現在不存儲為對象,并且只在查詢期間有效。與派生表的不同之處在于,CTE 可自引用,還可在同一查詢中引用多次。
分頁查詢的好處:
參考博文:點擊打開鏈接https://www.2cto.com/database/201511/451632.html
總結
以上是生活随笔為你收集整理的SQL分页查询的介绍以及好处~~的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最小生成树算法(两个方法实现)
- 下一篇: Mybatis Plus————代码生成