成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

sql server分頁的兩種方法比較

數據庫 SQL Server
在SQL查詢比較大的情況下,需要用到sql server分頁,下文將為您介紹其中的兩種分頁的方法,并進行了比對,供您參考。

sql server數據庫中,如果一個查詢結果數據量比較大,就需要在查詢的時候分頁,每次只返回其中一頁。下面就將為您講解比較sql server分頁的兩種方法,如果您對sql server分頁感興趣的話,不妨一看。

sql server分頁***種方法:
思路是根據頁號取出兩部分數據,比如取出前90條,然后取出前100條,然后比較取出兩次結果的差集。

在30萬條記錄的情況下,如果只分100頁(結果有10000條記錄),大約需要1分半鐘。索引建得好的話,1分鐘左右。

//select * from //這一句是不能修改的了,因為它是從結果中讀取,所以必須要用*
//(select top @h_count (@filedlist) from @tableName .....) as big //取出符合條件的上限的記錄
//where
//big.guid   //這里是關鍵,根據主鍵從下限結果中過濾掉重復的記錄(只留下不同的數據,也就是求交集)
//not in
//(select top @l_count guid from @table .....)//下限
//order @orderby  //原來的格式,這里只保留了orderby之后的,應該保留條件之后所有的,包括gruopby什么的

函數類似如此:
  public string MakeSqlPager(string sourceSql,int pageIndex)
  {
   //使用默認頁面大小
   string orderbyStr=sourceSql.Substring(sourceSql.ToLower().IndexOf("order by"));
   int index=sourceSql.ToLower().IndexOf("select");
   string bigRes="("+ sourceSql.Insert(index+6," top "+((pageIndex+1)*_pageSize).ToString()+" ")+") as big";
   string smallRes="("+ sourceSql.Insert(index+6," top "+(pageIndex*_pageSize).ToString()+" ")+")";
   return "select * from "+bigRes+" where big.guid not in "+smallRes+" "+orderbyStr;
  }

這種方法還可以改進,就是第二次取過濾時從***個的結果里面過濾。

sql server分頁第二種方法:
掐頭去尾,程序還沒寫
SELECT * FROM
(
  SELECT ***00 * FROM
  (
    SELECT ***00000 * FROM pagetest ORDER BY regt ASC
   ) as a
  ORDER BY regt desc
) as b
 ORDER BY regt ASC

測試了一下,大約用時間29秒。

比較:
***種方法的效率很低,猜測是因為多次需要循環比較,時間復雜度要高一個等級。比如,這種方法的響應時間和所取得的頁號有很大關系。
第二種方法還是可以接受的,和頁號無關,但是也需要兩次比較。

 

 

【編輯推薦】

SQL SERVER分區視圖

SQL中用函數代替游標的方法

SQL中的分析函數

創建SQL函數的實例

SQL中DATENAME函數的用法

責任編輯:段燃 來源: 博客園
相關推薦

2010-11-09 13:09:58

SQL Server分

2010-11-10 13:22:41

SQL Server備

2010-11-12 11:44:37

SQL Server刪

2010-07-01 12:29:27

SQL Server重

2009-04-21 11:23:56

Oraclespool比較

2011-08-09 10:21:55

SQL Server存儲過程分頁

2010-08-04 17:41:52

掛載NFS

2021-12-06 06:19:52

Windows Server管理員密碼

2009-09-25 14:04:09

Hibernate eHibernate h

2010-04-13 09:50:44

Oracle跟蹤

2010-11-24 14:36:25

修復mysql表

2011-03-30 17:04:24

MySQL添加用戶

2010-09-02 10:36:51

SQL刪除

2011-04-06 15:15:19

2010-10-27 14:47:32

Windows 200遠程證書

2010-02-06 14:35:36

ibmdwRUP迭代

2010-09-09 19:53:50

2009-08-05 13:34:18

C#日期相減

2009-06-18 11:09:42

2020-09-16 18:27:36

Linux方法IP地址
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品视频久久 | 日韩一级欧美一级 | 91亚洲国产 | 久久小视频 | 久久久亚洲 | 亚洲欧美激情国产综合久久久 | 久久1区| 福利国产 | 国产成人精品网站 | 99久久99热这里只有精品 | 日韩av免费在线观看 | 亚洲综合在线播放 | 色呦呦网站 | 99re在线视频 | www.天天干.com | 宅女噜噜66国产精品观看免费 | 中文字幕日韩欧美一区二区三区 | 黑人巨大精品欧美黑白配亚洲 | 欧美一区二区 | 九九热精品视频 | 中文字幕视频在线 | 91在线看| 中文字幕亚洲一区 | 伊人二区 | 精品在线一区 | 亚洲一区视频 | 特黄毛片视频 | 秋霞电影一区二区三区 | 中文字幕成人免费视频 | av在线免费观看网站 | 国产视频二区 | 久久这里只有精品首页 | 狠狠狠干 | 国产激情网| 欧美日韩一区二区在线观看 | 男人天堂999 | 久久人爽 | 日日天天 | 999久久久| 国产一区二区在线免费播放 | 日韩成人精品一区二区三区 |