国产探花免费观看_亚洲丰满少妇自慰呻吟_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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 温州市| 东兴市| 宣恩县| 商城县| 长兴县| 南江县| 年辖:市辖区| 伊宁县| 韶关市| 临猗县| 衡阳市| 广丰县| 龙州县| 昌吉市| 呼图壁县| 栾川县| 习水县| 沁水县| 安泽县| 玉田县| 长顺县| 余江县| 搜索| 富宁县| 北安市| 巴青县| 太原市| 玉环县| 潍坊市| 阿鲁科尔沁旗| 海晏县| 延边| 刚察县| 白玉县| 安多县| 宁安市| 玛多县| 常山县| 铅山县| 新泰市| 常山县|