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

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

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

      這個(gè)世界的問題在于聰明人充滿疑惑,而傻子們堅(jiān)信不疑。--羅素

      最好的改進(jìn)光標(biāo)性能的技術(shù)就是:能避免時(shí)就避免使用游標(biāo)。

       

      ——摘自《Transact-SQL權(quán)威指南》 Ken Henderson[著]

          最好的改進(jìn)光標(biāo)性能的技術(shù)就是:能避免時(shí)就避免使用游標(biāo)。SQL Server是關(guān)系數(shù)據(jù)庫,其處理數(shù)據(jù)集比處理單行好得多,單獨(dú)行的訪問根本不適合關(guān)系DBMS。若有時(shí)無法避免使用游標(biāo),則可以用如下技巧來優(yōu)化游標(biāo)的性能。
      (1). 除非必要否則不要使用static/insensitive游標(biāo)。打開static游標(biāo)會(huì)造成所有的行都被拷貝到臨時(shí)表。這正是為什么它對(duì)變化不敏感的原因——它實(shí)際上是指向臨時(shí)數(shù)據(jù)庫表中的一個(gè)備份。很自然,結(jié)果集越大,聲明其上的static游標(biāo)就會(huì)引起越多的臨時(shí)數(shù)據(jù)庫的資源爭奪問題。
      (2). 除非必要否則不要使用keyset游標(biāo)。和static游標(biāo)一樣,打開keyset游標(biāo)會(huì)創(chuàng)建臨時(shí)表。雖然這個(gè)表只包括基本表的一個(gè)關(guān)鍵字列(除非不存在唯一關(guān)鍵字),但是當(dāng)處理大結(jié)果集時(shí)還是會(huì)相當(dāng)大的。
      (3). 當(dāng)處理單向的只讀結(jié)果集時(shí),使用fast_forward代替forward_only。使用fast_forward定義一個(gè)forward_only,則read_only游標(biāo)具有一定的內(nèi)部性能優(yōu)化。
      (4). 使用read_only關(guān)鍵字定義只讀游標(biāo)。這樣可以防止意外的修改,并且讓服務(wù)器了解游標(biāo)移動(dòng)時(shí)不會(huì)修改行。
      (5). 小心事務(wù)處理中通過游標(biāo)進(jìn)行的大量行修改。根據(jù)事務(wù)隔離級(jí)別,這些行在事務(wù)完成或回滾前會(huì)保持鎖定,這可能造成服務(wù)器上的資源爭奪。
      (6). 小心動(dòng)態(tài)光標(biāo)的修改,尤其是建在非唯一聚集索引鍵的表上的游標(biāo),因?yàn)樗麄儠?huì)造成“Halloween”問題——對(duì)同一行或同一行的重復(fù)的錯(cuò)誤的修改。因?yàn)镾QL Server在內(nèi)部會(huì)把某行的關(guān)鍵字修改成一個(gè)已經(jīng)存在的值,并強(qiáng)迫服務(wù)器追加下標(biāo),使它以后可以再結(jié)果集中移動(dòng)。當(dāng)從結(jié)果集的剩余項(xiàng)中存取時(shí),又會(huì)遇到那一行,然后程序會(huì)重復(fù),結(jié)果造成死循環(huán)。
      (7). 對(duì)于大結(jié)果集要考慮使用異步游標(biāo),盡可能地把控制權(quán)交給調(diào)用者。當(dāng)返回相當(dāng)大的結(jié)果集到可移動(dòng)的表格時(shí),異步游標(biāo)特別有用,因?yàn)樗鼈冊(cè)试S應(yīng)用程序幾乎馬上就可以顯示行。

      Halloween:

      CREATE Table #T(
          k1 int identity(1,1),
          c1 int null
      );
       
      CREATE CLUSTERED INDEX C1 ON #T(C1);
       
      INSERT INTO #T(C1) VALUES(8)
      INSERT INTO #T(C1) VALUES(6)
      INSERT INTO #T(C1) VALUES(7)
      INSERT INTO #T(C1) VALUES(5)
      INSERT INTO #T(C1) VALUES(3)
      INSERT INTO #T(C1) VALUES(0)
      INSERT INTO #T(C1) VALUES(9)
       
       
      DECLARE C CURSOR DYNAMIC
          FOR SELECT K1,C1 FROM #T;
       
      OPEN C
      FETCH C
      WHILE(@@FETCH_Status=0)
      BEGIN
          UPDATE #T SET C1=C1+1
              WHERE CURRENT OF C;
          FETCH C;
      END
       
      CLOSE C;
      DEALLOCATE C;
       
      DROP Table #T;
      GO
      posted on 2009-03-29 15:47  Silent Void  閱讀(4201)  評(píng)論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 亚洲国产制服丝袜先锋| 被拉到野外强要好爽| 久久波多野结衣av| 国产乱码日韩亚洲精品成人| 污污网站18禁在线永久免费观看 | 国产亚洲精品一区二区无| 偷自拍另类亚洲清纯唯美| 精品国产乱码久久久久乱码| 老熟女多次高潮露脸视频| 丰满人妻熟妇乱精品视频| 久久午夜无码鲁丝片午夜精品| 四虎国产精品永久在线看| 黄又色又污又爽又高潮| 色又黄又爽18禁免费视频| 亚洲欧洲成人a∨在线| 黑人大荫道bbwbbb高潮潮喷| 日本强好片久久久久久aaa| 久久丫精品久久丫| 韩国三级网一区二区三区| 亚洲综合91社区精品福利| 欧美性猛交xxxx免费看| 亚洲午夜精品毛片成人播放| 男女真人国产牲交a做片野外| 日日碰狠狠添天天爽五月婷| 国产精品夜夜春夜夜爽久久小说| 久草网视频在线观看| 忘忧草在线社区www中国中文 | 国产成人高清亚洲综合| 蜜臀av一区二区三区日韩| 国产a在视频线精品视频下载| 香蕉亚洲欧洲在线一区| 色综合久久一区二区三区| 麻豆国产成人AV在线播放| 亚洲AV无码破坏版在线观看| 亚洲一区二区av高清| 欧美色欧美亚洲高清在线视频| 无码激情亚洲一区| 久久久精品2019中文字幕之3| 中文字幕不卡在线播放| 亚洲日本韩国欧美云霸高清| 性色av一区二区三区精品|