无码色色,久久久久久免费精品喷水,美女把胸罩解开让男生摸,欧美一级在线观看视频,色亚洲天堂,色综合天天综合给合国产

咨詢電話:023-88959644    24小時服務(wù)熱線:400-023-8809
NEWS CENTER ·
新聞動態(tài)
關(guān)注中技互聯(lián) 關(guān)注前沿

數(shù)據(jù)庫查詢的分頁優(yōu)化技巧

發(fā)表日期:2013-03-13    文章編輯:天天    瀏覽次數(shù):13    標(biāo)簽:數(shù)據(jù)庫查詢的分頁優(yōu)化技巧

  數(shù)據(jù)庫查詢的分頁優(yōu)化技巧

  分頁瀏覽功能是常見的Web應(yīng)用功能,對于MySQL數(shù)據(jù)庫來說可以很輕松的使用limit語句實現(xiàn)分頁,而對于SQL Server數(shù)據(jù)庫來說,常見的方法是使用數(shù)據(jù)集本身的游標(biāo)實現(xiàn)分頁,這種方法對于少量數(shù)據(jù)來說沒什么問題,但是對于稍大一點的數(shù)據(jù)量,例如幾十萬條數(shù)據(jù),則查詢速度會降低很多,這里我介紹一種常用的技巧,只要簡單的重新構(gòu)造一下查詢SQL語句,就能大幅提高查詢性能的方法。

  在分頁算法中,影響查詢速度的關(guān)鍵因素在于返回數(shù)據(jù)集的大小,我們先在數(shù)據(jù)表中設(shè)置一個名為id的主鍵,數(shù)值為自增量的整數(shù),然后通過重構(gòu)查詢SQL語句,就可以實現(xiàn)SQL查詢的優(yōu)化,重構(gòu)的SQL如下所示

  以下為引用的內(nèi)容:

  select top 頁大小 *

  from table1

  where id<=

  (select min (id) from

  (select top ((頁碼-1)*頁大小) id from table1 order by id desc) as T

  )

  order by id desc下面的JSP演示代碼中,intPageSize為頁大小,intPage為頁碼,id為主鍵,演示了操作一個t_Product表,并加入各類查詢條件之后的重構(gòu)SQL的主要語句,經(jīng)過實際調(diào)試,經(jīng)過這樣簡單優(yōu)化后的SQL查詢速度遠(yuǎn)遠(yuǎn)高于優(yōu)化前的查詢速度。

  以下為引用的內(nèi)容:

  String sql=" from t_Product where 1=1 and ";

  String ProductName = request.getParameter("ProductName");

  if (ProductName!=null) sql=sql+"ProductName like '%" + ProductName + "%' and " ;

  sql=sql.substring(0,sql.length()-4); // 去掉尾部的 and 字符串

  sql="select top " + String.valueOf(intPageSize) + " *" +sql+" and id <=(select min(id) from (select top " + String.valueOf(intPage*intPageSize) + " id " + sql + " order by id desc) as T) "; //通過子查詢加快速度

  sql=sql+" order by id desc ";

如沒特殊注明,文章均為中技互聯(lián)原創(chuàng),轉(zhuǎn)載請注明來自www.tmsmall666.cn
上一篇:視頻推廣方法詳細(xì)介紹 下一篇:已經(jīng)是最后一篇了
相關(guān)新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429號

  • qq客服
  • 公眾號
  • 手機(jī)版
  • 新浪微博