国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

常見數據庫的分頁實現方案

2024-07-21 02:50:41
字體:
來源:轉載
供稿:網友
常見數據庫的分頁實現方案

  隨著數據庫的發展,如今的數據庫可以儲存大量的數據,內存也是越來越大,但是無論您的內存多大,內存總是顯得不夠用,這時就要涉及到分頁,下文中將為大家帶來詳細的數據庫分頁操作。

 1.Oracle:

12select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum =< max) where rownum_ >= min

 2.SQL Server:

12select top @pagesize * from tablename where id not in(select top @pagesize*(@page-1) id from tablename order by id) order by id

 3.MySQL

1select * from tablename limit position, counter

 4.DB2

12select * from (select *,rownumber() as ROW_NEXT from tablename) where ROW_NEXT between min and max
 分頁方案一:(利用Not In和SELECT TOP分頁)效率次之

  語句形式:

123456SELECT 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分頁)效率最高

  語句形式:

123456SELECT 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號大的指定條數。

 分頁方案三:
1234SELECT TOP PageSize * FROM(SELECT TOP nPage*PageSize * from YOURTABLE order by id) as a order by id descSELECT TOP 每頁條數 * FROM(SELECT TOP 待查詢頁*每頁條數) * from YOURTABLE order by id)as a order by id desc

  思路:先正排序查詢出待查詢頁之前(包括當前頁)的全部條數,然后將其倒排序,取指定條數。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 库伦旗| 澄江县| 虞城县| 延吉市| 奈曼旗| 曲周县| 修武县| 正定县| 张掖市| 桂林市| 炎陵县| 阳曲县| 巴东县| 六枝特区| 东乌珠穆沁旗| 迁安市| 潞城市| 侯马市| 交城县| 乌恰县| 长沙县| 永寿县| 汉川市| 柞水县| 炉霍县| 铅山县| 毕节市| 鄂伦春自治旗| 宁晋县| 郴州市| 凤山市| 绍兴市| 南召县| 淮北市| 高要市| 卢氏县| 灯塔市| 墨玉县| 珠海市| 朔州市| 定南县|