常用的三條分頁SQL語句 儲存過程 的效能比較

2021-04-27 04:07:22 字數 672 閱讀 7157

第一條語句:

select top 頁大小 * from table1

where id not in

(select top (頁碼-1)*頁大小 id

from table1)

第二條語句: 

select top 頁大小 *

from table1 a where not exists

(select * from (select top (頁大小*頁數) * from table1 order by id) b where b.id=a.id )

order by a.id

第三條語句:

select top 頁大小 *

from table1

where id>(select max (id) from (select top ((頁碼-1)*頁大小) id from table1 order by id) as t) order by id

在1000萬的資料表中測試,結果發現:

在執行100頁以下的分頁命令時,三條語句的速度都很好

在執行大於100頁小於1萬頁時,第一條語句的速度下降,但第

二、三條語句執行良好

在執行1萬頁以上,第二條語句的速度也下降,但第三條語句執行良好

所以在執行分頁命令時,盡量用第三條sql語句來完成.

三條常用的sql語句

定義 表和表之間的資料以縱向的方式連線在一起。之前的內連線,外連線都是以橫向的方式連線在一起 注意,union 內部的每個 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每個 select 語句中的列的順序必須相同。sql union 語法 select column n...

Oracle三條常用的命令

一般情況下在沒有輔助工具的時候我們需要使用oracle的自帶命令,這裡介紹3個幾個常用的命令 tnsping 測試oracle伺服器是否連通 exp 匯出資料庫 格式 exp 使用者名稱 密碼 連線字串 file 儲存路徑 儲存名字.dmp 例子 exp test lx xx orcl file e...

SQL語句的分頁儲存過程

create procedure dbo getrecordfrompage tblname varchar 255 表名 fldname varchar 255 欄位名 pagesize int 10,頁尺寸 pageindex int 1,頁碼 ordertype bit 0,設定排序型別,非0...