欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

數(shù)據(jù)庫分頁查詢語句數(shù)據(jù)庫查詢

 更新時間:2014年08月10日 17:20:45   投稿:mdxy-dxy  
關于分頁 SQL 的資料許多,有的使用存儲過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用存儲過程是個不錯的選擇,因為存儲過程是顛末預編譯的,執(zhí)行效率高,也更靈活

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

方法1:

適用于 SQL Server 2000/2005

SELECT TOP 頁大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 頁大小*(頁數(shù)-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 頁大小*(頁數(shù)-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 > 頁大小*(頁數(shù)-1)

說明,頁大小:每頁的行數(shù);頁數(shù):第幾頁。使用時,請把“頁大小”以及“頁大小*(頁數(shù)-1)”替換成數(shù)碼。

MYSQL

SELECT * FROM TT LIMIT 1,20
SELECT * FROM TT LIMIT 21,30
/*
如果你是幾千上萬數(shù)據(jù),就直接使用mysql自帶的函數(shù) limit的普通用法就ok了,如果是100萬以上的數(shù)據(jù),可能就要講方法了,下面我們來做個百萬級數(shù)據(jù)的分頁查詢語句.
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分頁的實際操作方案,其實關于實現(xiàn)MySQL分頁的最簡單的方法就是利用利用mysql數(shù)據(jù)庫的LIMIT函數(shù),LIMIT [offset,] rows可以從MySQL數(shù)據(jù)庫表中第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的分頁查詢語句基本上可以按照這篇了,下一篇文章會通過例子來申述。下面簡單討論一下多表聯(lián)合的情況。對最多見的等值表連接查詢,CBO 一般可能會采用兩種連接方式NESTED LOOP以及HASH JOIN(MERGE JOIN效率比HASH JOIN效率低,一般CBO不會考慮)。在這里,由于使用了分頁,因此指定了一個歸回的最大記載數(shù),NESTED LOOP在歸回記載數(shù)跨越最大值時可以頓時遏制并將結(jié)果歸回給中心層,而HASH JOIN必需處理完所有成集(MERGE JOIN也是)。那么在大部分的情況下,對分頁查詢選擇NESTED LOOP作為查詢的連接方法具有較高的效率(分頁查詢的時候絕大部分的情況是查詢前幾頁的數(shù)據(jù),越靠后面的頁數(shù)訪問概率越?。?。

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

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

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

相關文章

  • 數(shù)據(jù)庫分頁查詢語句數(shù)據(jù)庫查詢

    數(shù)據(jù)庫分頁查詢語句數(shù)據(jù)庫查詢

    關于分頁 SQL 的資料許多,有的使用存儲過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用存儲過程是個不錯的選擇,因為存儲過程是顛末預編譯的,執(zhí)行效率高,也更靈活
    2014-08-08
  • 三表左連接查詢的sql語句寫法

    三表左連接查詢的sql語句寫法

    left join三表左連接sql查詢語句
    2008-09-09
  • Mybatis查詢延遲加載詳解及實例

    Mybatis查詢延遲加載詳解及實例

    這篇文章主要介紹了Mybatis查詢延遲加載詳解及實例的相關資料,Mybatis的延遲加載默認是關閉的,即默認是一次就將所有的嵌套SQL一并查了將對象所有的信息都查詢出來。開啟延遲加載有兩種方式,需要的朋友可以參考下
    2017-01-01
  • SQL注入技巧之顯注與盲注中過濾逗號繞過詳析

    SQL注入技巧之顯注與盲注中過濾逗號繞過詳析

    SQL注入的繞過技巧有很多,下面這篇文章主要給大家介紹了關于SQL注入技巧之顯注與盲注中過濾逗號繞過的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • [轉(zhuǎn)載]讓SQL運行得更快

    [轉(zhuǎn)載]讓SQL運行得更快

    筆者在工作實踐中發(fā)現(xiàn),不良的SQL往往來自于不恰當?shù)乃饕O計、不充份的連接條件和不可優(yōu)化的where子句。在對它們進行適當?shù)膬?yōu)化后,其運行速度有了明顯地提高!下面我將從這三個方面分別進行總結(jié)
    2007-02-02
  • hive數(shù)據(jù)倉庫新增字段方法

    hive數(shù)據(jù)倉庫新增字段方法

    這篇文章主要為大家介紹了hive中新增字段的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Doris?數(shù)據(jù)模型ROLLUP及前綴索引官方教程

    Doris?數(shù)據(jù)模型ROLLUP及前綴索引官方教程

    本文檔主要從邏輯層面,描述 Doris 的數(shù)據(jù)模型 ROLLUP 以及前綴索引的概念,以幫助用戶更好的使用 Doris 應對不同的業(yè)務場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 站內(nèi)群發(fā)消息三種不同用戶量的數(shù)據(jù)庫設計

    站內(nèi)群發(fā)消息三種不同用戶量的數(shù)據(jù)庫設計

    很多SNS網(wǎng)站和一部分CMS網(wǎng)站都廣泛地應用了站內(nèi)信這一模塊,這個看似簡單的東西其實背后隱藏著很多需要設計師重視的設計細節(jié),要做好這個“郵遞員”是很不容易的,本文講述站內(nèi)群發(fā)消息三種不同用戶量的數(shù)據(jù)庫設計,逐漸設計一個百萬級用戶量的站內(nèi)信群發(fā)數(shù)據(jù)庫
    2023-12-12
  • 數(shù)據(jù)庫建表設計六范式介紹

    數(shù)據(jù)庫建表設計六范式介紹

    大家好,本篇文章主要講的是數(shù)據(jù)庫建表設計六范式介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Navicat?premium?for?mac?12的安裝破解圖文教程

    Navicat?premium?for?mac?12的安裝破解圖文教程

    Navicat Premium是一款數(shù)據(jù)庫管理工具,將此工具連接數(shù)據(jù)庫,你可以從中看到各種數(shù)據(jù)庫的詳細信息,這篇文章主要介紹了Mac下Navicat?premium?for?mac?12的安裝破解過程,需要的朋友可以參考下
    2024-01-01

最新評論