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

首頁 > 數據庫 > 文庫 > 正文

數據庫分頁查詢語句數據庫查詢

2020-10-29 21:50:41
字體:
來源:轉載
供稿:網友

先看看單條 SQL 語句的分頁 SQL 吧。

方法1:

適用于 SQL Server 2000/2005

SELECT TOP 頁大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 頁大小*(頁數-1) id FROM table1 ORDER BY id ) ORDER BY id

方法2:

適用于 SQL Server 2000/2005

SELECT TOP 頁大小 * FROM table1 WHERE id > ( SELECT ISNULL(MAX(id),0) FROM ( SELECT TOP 頁大小*(頁數-1) id FROM table1 ORDER BY id ) A ) ORDER BY id

方法3:

適用于 SQL Server 2005

SELECT TOP 頁大小 * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ) A WHERE RowNumber > 頁大小*(頁數-1)

說明,頁大?。好宽摰男袛?;頁數:第幾頁。使用時,請把“頁大小”以及“頁大小*(頁數-1)”替換成數碼。

MYSQL

SELECT * FROM TT LIMIT 1,20SELECT * FROM TT LIMIT 21,30/*如果你是幾千上萬數據,就直接使用mysql自帶的函數 limit的普通用法就ok了,如果是100萬以上的數據,可能就要講方法了,下面我們來做個百萬級數據的分頁查詢語句.mysql> select * from news where id>=(select id from news limit 490000,1) limit 10; //0.18 sec //很 明顯,這 種方式勝出 .mysql> select * from news limit 490000,10 //0.22 sec;*/

以下的文章主要介紹的是MySQL分頁的實際操作方案,其實關于實現MySQL分頁的最簡單的方法就是利用利用mysql數據庫的LIMIT函數,LIMIT [offset,] rows可以從MySQL數據庫表中第M條記錄開始檢索N條記錄的語句為:

SELECT * FROM 表名稱 LIMIT M,N
例如從表Sys_option(主鍵為sys_id)中從第10條記錄開始檢索20條記錄,語句如下:

select * from sys_option limit 10,20 select * from table [查詢條件] order by id limit ?,? 

Oracle

Oracle的分頁查詢語句基本上可以按照這篇了,下一篇文章會通過例子來申述。下面簡單討論一下多表聯合的情況。對最多見的等值表連接查詢,CBO 一般可能會采用兩種連接方式NESTED LOOP以及HASH JOIN(MERGE JOIN效率比HASH JOIN效率低,一般CBO不會考慮)。在這里,由于使用了分頁,因此指定了一個歸回的最大記載數,NESTED LOOP在歸回記載數跨越最大值時可以頓時遏制并將結果歸回給中心層,而HASH JOIN必需處理完所有成集(MERGE JOIN也是)。那么在大部分的情況下,對分頁查詢選擇NESTED LOOP作為查詢的連接方法具有較高的效率(分頁查詢的時候絕大部分的情況是查詢前幾頁的數據,越靠后面的頁數訪問概率越?。?/p>

因此,如果不介意在體系中使用HINT的話,可以將分頁的查詢語句改寫為:

SELECT /*+ FIRST_ROWS */ * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) AWHERE ROWNUM <= 40)WHERE RN >= 21

作者“ERDP技術架構”

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒙城县| 松江区| 大冶市| 广南县| 简阳市| 女性| 繁峙县| 永寿县| 梅河口市| 思茅市| 博客| 特克斯县| 鄂托克前旗| 吴堡县| 阿克苏市| 田林县| 桐城市| 苏州市| 静宁县| 班玛县| 仙桃市| 保靖县| 福泉市| 阿拉善左旗| 建水县| 朝阳县| 新野县| 淮滨县| 永新县| 桐乡市| 舞阳县| 松江区| 贵州省| 临清市| 高平市| 仙桃市| 大悟县| 榆中县| 伊吾县| 务川| 桃园市|