常見資料庫的分頁實現方案
隨著資料庫的發展,如今的資料庫可以儲存大量的資料,記憶體也是越來越大,但是無論您的記憶體多大,記憶體總是顯得不夠用,這時就要涉及到分頁,下文中將為大家帶來詳細的資料庫分頁操作。
1.Oracle:
select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum =< max) where rownum_ >= min
2.SQL Server:
select top @pagesize * from tablename where id not in (select top @pagesize*(@page-1) id from tablename order by id) order by id
3.MySQL
select * from tablename limit position, counter
4.DB2
select * from (select *,rownumber() as ROW_NEXT from tablename) where ROW_NEXT between min and max
分頁方案一:(利用Not In和SELECT TOP分頁)效率次之
語句形式:
SELECT TOP 10 * FROM TestTable WHERE (ID NOT IN (SELECT TOP 20 id FROM TestTable ORDERBY id)) ORDERBYID SELECT TOP 頁大小 * FROM TestTable WHERE( ID NOT IN (SELECT TOP 每頁大小-1*待查詢頁數-1 id FROM 表 ORDERBY id)) ORDERBYID
思路:先查詢出待查詢頁之前的全部條數的id,查詢ID不在這些ID中的指定數量條數。
分頁方案二:(利用ID大於多少和SELECT TOP分頁)效率最高
語句形式:
SELECT TOP 10 * FROM TestTable WHERE(ID>(SELECT MAX(id) FROM(SELECT TOP20 id FROM TestTable ORDERBYid) AS T))ORDERBY ID SELECT TOP 頁大小* FROM TestTable WHERE(ID>(SELECT MAX(id) FROM(SELECT TOP 每頁大小*待查詢頁數-1 id FROM 表 ORDERBY id)AS T)) ORDERBY ID
思路:先獲得待查詢頁的之前全部條數id,獲得它們當中最大的ID號,以此最大ID號為標誌,查詢比這個ID號大的指定條數。
分頁方案三:
SELECT TOP PageSize * FROM (SELECT TOP nPage*PageSize * from YOURTABLE order by id) as a order by id desc SELECT TOP 每頁條數 * FROM (SELECT TOP 待查詢頁*每頁條數) * from YOURTABLE order by id)as a order by id desc
思路:先正排序查詢出待查詢頁之前(包括當前頁)的全部條數,然後將其倒排序,取指定條數。
相關文章
- Oracle常見SQL分頁實現方案介紹OracleSQL
- 炸!業界難題,跨庫分頁的幾種常見方案
- oracle資料庫用sql實現快速分頁Oracle資料庫SQL
- 常見資料庫資料庫
- MySQL資料庫常見錯誤及解決方案MySql資料庫
- 用go實現常見的資料結構Go資料結構
- 延時訊息常見實現方案
- 資料庫常見問題資料庫
- 常見資料庫系統之比較 - 資料庫的發展和現狀(轉)資料庫
- java web實現分頁顯示資料JavaWeb
- 老聲常談,分頁查詢的實現就是不分頁
- SQL - 常用資料庫分頁SQL資料庫
- 資料庫分庫分表解決方案彙總資料庫
- 常見的瀏覽器端資料儲存方案瀏覽器
- sql server2008資料庫複製實現資料同步常見問題SQLServer資料庫
- 分頁的實現
- MySQL資料庫之分庫分表方案MySql資料庫
- python實現資料分頁小練習Python
- 常見資料庫系統之比較 - Oracle資料庫(轉)資料庫Oracle
- 資料庫常見面試題總結資料庫面試題
- 10個常見的資料庫安全問題資料庫
- 幾種常見的資料庫連線方法資料庫
- 資料庫恢復子系統的常見技術和方案對比(一)資料庫
- 資料庫恢復子系統的常見技術和方案對比(二)資料庫
- 【伺服器資料恢復】xen server儲存庫(sr)常見故障的資料恢復方案伺服器資料恢復Server
- 海量資料庫的查詢優化及分頁演算法方案資料庫優化演算法
- 常用3種資料庫的Sql分頁資料庫SQL
- Oracle資料庫中的分頁查詢Oracle資料庫
- 實現報表資料分庫儲存
- 常見資料庫系統比較之Oracle資料庫(轉)資料庫Oracle
- 常見的資料整合有哪些方法?有哪些分類?
- 千萬條資料,Stack Overflow 是如何實現快速分頁的?
- 利用ASP實現Oracle資料記錄的分頁顯示Oracle
- 在.net中用資料工廠實現多資料庫的操作方案資料庫
- 分頁功能的實現
- yii2 資料庫常見查詢資料庫
- 平時常見關係型資料庫資料庫
- 常見資料庫最佳化記錄資料庫