<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Oracle數據庫查詢高效分頁

              由于網頁渲染速度的影響,在C/S程序中那種一個Grid包含幾千、上萬行的數據基本上在網頁是無法展現的,因此一般采用分頁的形式顯示(也可能采用Visual Srolling方式加載的,企業應用系統的不是很常見),ASP.NET 的數據控件一般帶有分頁功能,3.5以后還提供了單獨的分頁控件,也有用過AspNetPager這個第三方的組件。

             分頁的控件實在很方便,以前的處理方式就是數據都拿出來,然后由控件進行處理,一般數據量不大的時候應該說感覺不出來優劣,但由于每次從數據庫取的時候都是取所有的數據,肯定會增加數據庫的壓力,傳輸的數據庫多了對網絡帶寬也會產生壓力的。很有可能查出來1萬條數據,最后顯示只用到啟用50條,翻頁的時候又重新去查1萬條數據,顯示之后的的又50條。

             以下的分頁SQL比較常見的,在SQL Server也有對應的使用TOP關鍵字的版本,記得剛學Oralce的時候就想著怎么不能rownum between minValue and maxValue的用法。與最初的疑惑的原理一樣,rownum是在查詢過程中生成的,因此以下的SQL其實是查出來5300行,然后扔掉了前面5000行,返回后面的300行。當然這種已經進了一大步的,由數據庫返回的數據變少的,只是當查詢的頁數比較大的時候,查詢還是存在一定的浪費。

      select *
        from (select a.*, rownum as rnum
                from (select * from yz_bingrenyz) a
               where rownum <=5300)
       where rnum >= 5000

             Linq提供了Skip和Take的API可以用于分頁,由于使用的是Entity Framework,在好奇的驅使下用EFProfiler查看生成的SQL,才知道這樣以下分頁更好。 主要就是使用了row_numer()over()這樣的分析函數,可以直接找到那第5000行開始的地方,然后在取出30行就行了。

      select *
        from (select *
                from (select t.*, row_number() OVER(ORDER BY null) AS "row_number"
                        from yz_bingrenyz t) p
               where p."row_number" > 5000) q
       where rownum <= 300

      比較分析:

              本機測試前者耗時1.3s,后者僅0.25s,從以下的執行計劃也能看出差異來。

      image

      image

      實際應用

             如果每次查詢都要寫這種SQL那肯定比較麻煩,可以采用存儲過程進行封裝,但由于要動態執行SQL,效率肯定又要打折扣,所以在ASP.NET中用C#封裝函數比較好,對于沒有使用實體框架的而用ADO.NET的,傳入表名 、主鍵名、頁數、要取的行數作為參數,用DBCommand進行執行返回結果即可。

      posted @ 2012-07-23 14:15  小胖2010  閱讀(17783)  評論(5)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品理论电影在线观看| 国内自拍小视频在线看| 日韩无矿砖一线二线卡乱| 亚洲欧美中文日韩v在线97| 仙居县| 久久亚洲精品成人av秋霞| 蜜桃视频一区二区三区四| 精品国产高清中文字幕| 婷婷五月综合丁香在线| 亚洲熟女一区二区av| 日韩有码精品中文字幕| 免费人成在线观看网站| 亚洲av无码专区在线亚| 国产乱色熟女一二三四区| 国产欧美日韩另类精彩视频| 亚洲乱理伦片在线观看中字| av在线播放日韩亚洲欧| 中国熟女仑乱hd| 国产精品沙发午睡系列990531| 国内少妇偷人精品免费| 国产极品美女高潮抽搐免费网站 | 亚洲熟女乱一区二区三区| 久久无码高潮喷水| 四虎在线播放亚洲成人| 欧美成人精品三级网站| 欧洲免费一区二区三区视频| 日韩人妻无码精品系列| 国产欧美另类久久久精品不卡| 国产精品偷乱一区二区三区 | 国产成人无码AV片在线观看不卡| 精品一区二区三区四区色| 无码电影在线观看一区二区三区| 日韩国产精品无码一区二区三区| 国产精品美女一区二三区| 成人网站国产在线视频内射视频| 男女做aj视频免费的网站| 国产精品久久人妻无码网站一区 | 1769国内精品视频在线播放| 亚洲二区中文字幕在线| 欧美亚洲h在线一区二区| 中文字幕无码免费久久|