濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 數(shù)據(jù)庫(kù)分頁(yè)查詢語(yǔ)句數(shù)據(jù)庫(kù)查詢

數(shù)據(jù)庫(kù)分頁(yè)查詢語(yǔ)句數(shù)據(jù)庫(kù)查詢

熱門標(biāo)簽:長(zhǎng)沙外呼系統(tǒng)平臺(tái) 美國(guó)地圖標(biāo)注軟件下載 城市地圖標(biāo)志怎么標(biāo)注 硅基電話機(jī)器人官網(wǎng) 怎么修改高德地圖標(biāo)注 合肥crm外呼系統(tǒng)加盟 西安電話自動(dòng)外呼系統(tǒng) 電話機(jī)器人怎么看余額 漯河電銷回?fù)芡夂粝到y(tǒng)

先看看單條 SQL 語(yǔ)句的分頁(yè) SQL 吧。

方法1:

適用于 SQL Server 2000/2005

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

方法2:

適用于 SQL Server 2000/2005

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

方法3:

適用于 SQL Server 2005

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

說(shuō)明,頁(yè)大?。好宽?yè)的行數(shù);頁(yè)數(shù):第幾頁(yè)。使用時(shí),請(qǐng)把“頁(yè)大小”以及“頁(yè)大小*(頁(yè)數(shù)-1)”替換成數(shù)碼。

MYSQL

SELECT * FROM TT LIMIT 1,20
SELECT * FROM TT LIMIT 21,30
/*
如果你是幾千上萬(wàn)數(shù)據(jù),就直接使用mysql自帶的函數(shù) limit的普通用法就ok了,如果是100萬(wàn)以上的數(shù)據(jù),可能就要講方法了,下面我們來(lái)做個(gè)百萬(wàn)級(jí)數(shù)據(jù)的分頁(yè)查詢語(yǔ)句.
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分頁(yè)的實(shí)際操作方案,其實(shí)關(guān)于實(shí)現(xiàn)MySQL分頁(yè)的最簡(jiǎn)單的方法就是利用利用mysql數(shù)據(jù)庫(kù)的LIMIT函數(shù),LIMIT [offset,] rows可以從MySQL數(shù)據(jù)庫(kù)表中第M條記錄開始檢索N條記錄的語(yǔ)句為:

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

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

Oracle

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

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

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

作者“ERDP技術(shù)架構(gòu)”

您可能感興趣的文章:
  • oracle,mysql,SqlServer三種數(shù)據(jù)庫(kù)的分頁(yè)查詢的實(shí)例
  • 數(shù)據(jù)庫(kù)分頁(yè)查詢方法
  • SQL Server 分頁(yè)查詢通用存儲(chǔ)過程(只做分頁(yè)查詢用)
  • mysql分頁(yè)原理和高效率的mysql分頁(yè)查詢語(yǔ)句
  • Mysql中分頁(yè)查詢的兩個(gè)解決方法比較
  • 高效的SQLSERVER分頁(yè)查詢(推薦)
  • 真正高效的SQLSERVER分頁(yè)查詢(多種方案)
  • 三種SQL分頁(yè)查詢的存儲(chǔ)過程代碼
  • php下巧用select語(yǔ)句實(shí)現(xiàn)mysql分頁(yè)查詢
  • SQL Server 分頁(yè)查詢存儲(chǔ)過程代碼

標(biāo)簽:吉林 濟(jì)源 文山 撫順 廣西 商洛 玉溪 瀘州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《數(shù)據(jù)庫(kù)分頁(yè)查詢語(yǔ)句數(shù)據(jù)庫(kù)查詢》,本文關(guān)鍵詞  數(shù)據(jù)庫(kù),分頁(yè),查詢,語(yǔ)句,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《數(shù)據(jù)庫(kù)分頁(yè)查詢語(yǔ)句數(shù)據(jù)庫(kù)查詢》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于數(shù)據(jù)庫(kù)分頁(yè)查詢語(yǔ)句數(shù)據(jù)庫(kù)查詢的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    北安市| 林州市| 抚远县| 万盛区| 沙雅县| 新竹市| 闸北区| 沙田区| 万山特区| 都匀市| 会同县| 阿鲁科尔沁旗| 砚山县| 南川市| 前郭尔| 桐城市| 南岸区| 镇沅| 高安市| 山西省| 正定县| 托克托县| 白城市| 西丰县| 安新县| 德惠市| 平泉县| 博客| 灵川县| 海林市| 伊宁县| 富源县| 甘肃省| 会东县| 辉南县| 富宁县| 宁安市| 汤原县| 淮阳县| 兴业县| 陆丰市|