青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

利用游標更新數據

Posted on 2010-05-10 23:04 Prayer 閱讀(417) 評論(0)  編輯 收藏 引用 所屬分類: DB2
基本用法:
 cursor c1 is

     select *

       from tablename

      where name is null

        for update [of column]

 ……

 for r1 in c1 loop

     update tablename

        set column = ……   --已限制了條件了,更新只是當前記錄集  

      where current of c1;
end loop;

where current of 子句只能在定義游標的時候使用了for update語句才可以使用。  
上面的語句中r1 是c1中的一行數據,更新的時候應該用current of c1,因為c1只是一個隱式游標,它本身不是通過for update定義的,只是代表了循環中的當前記錄。這樣,你的update語句或者delete語句的作用范圍就只在你循環的當前行的范圍中了。  
   
要注意的是,用for update定義的游標會讓數據庫對涉及的行加鎖,別的會話如果要訪問該游標中的行便會進入等待狀態。你也可以明確指明要加鎖的列,用for update of "列名"  就可以了。 

如果select for update選中的行已經被別的會話加鎖的話,會話就需要等待解鎖,如果別的會話一直不解鎖,那么你的select就會一直等待下去,如果你不想等,只需在for update后面加上nowait就可以解決這個問題了,這樣你的選擇會立即返回。

針對where current of的使用和我們日常的更新方法,進行了一個簡單的測試。
編寫了兩個簡單的過程,比較使用where current of和不使用時,性能的差異。
SQL> create table t
  as
  select * from all_objects;
表已創建。

SQL> create table t1
  as
  select * from t;
表已創建。

SQL> select count(*) from t;
  COUNT(*)
----------
     37003

SQL> exec runstats.rs_start;
PL/SQL 過程已成功完成。

SQL> declare
    cursor sal_cursor is
      select object_name
        from t
         for update nowait;
  begin
    for i in sal_cursor loop
      update t
         set data_object_id = data_object_id  + 1
 10       where current of sal_cursor;
 11    end loop;
 12  end;
 13  /
PL/SQL 過程已成功完成。

SQL> exec runstats.rs_middle;
PL/SQL 過程已成功完成。

SQL> declare
    cursor sal_cursor is
      select object_name
        from t1
         for update nowait;
  begin
    for i in sal_cursor loop
      update t1
         set data_object_id = data_object_id  + 1
 10       where object_name = i.object_name;
 11    end loop;
 12    commit;
 13  end;
 14  /
PL/SQL 過程已成功完成。

SQL> exec runstats.rs_stop(1000000);
Run1 ran in 3767 hsecs
Run2 ran in 126597 hsecs
run 1 ran in 2.98% of the time
Name                                  Run1        Run2        Diff
STAT..no work - consistent rea      37,268   9,212,891   9,175,623
STAT..table scan blocks gotten      37,247   9,212,999   9,175,752
STAT..buffer is not pinned cou      37,282   9,213,043   9,175,761
STAT..consistent gets               37,311   9,400,510   9,363,199
STAT..session logical reads        119,901   9,521,124   9,401,223
STAT..redo size                 15,563,548  25,830,156  10,266,608
LATCH.cache buffers chains         502,564  19,504,830  19,002,266
STAT..table scan rows gotten        73,998########################
Run1 latches total versus runs -- difference and pct
Run1        Run2        Diff       Pct
782,133  20,678,374  19,896,241      3.78%
PL/SQL 過程已成功完成。

對t1表建立索引的差異:
SQL> analyze index idx_object_name compute statistics;
索引已分析

SQL> exec runstats.rs_stop(100000);
Run1 ran in 2989 hsecs
Run2 ran in 5250 hsecs
run 1 ran in 56.93% of the time
Name                                  Run1        Run2        Diff
STAT..session logical reads        112,542     231,954     119,412
STAT..session logical reads        112,542     232,502     119,960
STAT..session logical reads        112,542     233,080     120,538
STAT..session pga memory                    131,072     131,072
STAT..session pga memory                    131,072     131,072
LATCH.cache buffers chains         488,072     828,849     340,777
LATCH.cache buffers chains         488,072     832,711     344,639
LATCH.cache buffers chains         488,072     835,333     347,261
STAT..redo size                 15,561,972  25,909,144  10,347,172
STAT..redo size                 15,561,972  25,970,072  10,408,100
STAT..redo size                 15,561,972  26,030,812  10,468,840
Run1 latches total versus runs -- difference and pct
Run1        Run2        Diff       Pct
2,293,947   3,511,140   1,217,193     65.33%
PL/SQL 過程已成功完成。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美电影电视剧在线观看| 亚洲欧美第一页| 国产精品扒开腿做爽爽爽视频 | 欧美电影专区| 久热国产精品视频| 欧美日韩精品一本二本三本| 久久综合色8888| 蜜月aⅴ免费一区二区三区| 免费亚洲电影在线观看| 亚洲盗摄视频| 亚洲国产精品一区二区三区| 日韩手机在线导航| 亚洲欧美国产精品va在线观看| 午夜亚洲性色福利视频| 另类酷文…触手系列精品集v1小说| 欧美大片在线看免费观看| 国产精品豆花视频| 在线电影国产精品| 亚洲视频综合在线| 久久综合久久综合久久| 欧美激情一区在线| 最新国产精品拍自在线播放| 在线一区亚洲| 久久偷看各类wc女厕嘘嘘偷窃| 免费在线欧美黄色| 国产日韩综合一区二区性色av| 国产一区二区看久久| 亚洲区中文字幕| 午夜精品一区二区三区在线视| 久久五月天婷婷| 一本久久精品一区二区| 欧美一区二区久久久| 欧美日韩国产成人| 国产色婷婷国产综合在线理论片a| 亚洲电影免费观看高清| 亚洲欧美日韩一区| 亚洲成人在线免费| 久久精品国产免费| 欧美精品一区在线播放| 国产综合久久| 午夜精品一区二区三区四区| 亚洲电影免费| 久久嫩草精品久久久久| 国产欧美日韩精品a在线观看| 日韩午夜av电影| 欧美丰满少妇xxxbbb| 午夜老司机精品| 国产精品免费一区二区三区在线观看 | 美女啪啪无遮挡免费久久网站| 久久精品夜色噜噜亚洲aⅴ| 欧美激情国产日韩| 在线成人激情黄色| 久久久久**毛片大全| 亚洲无亚洲人成网站77777| 欧美激情精品久久久久| 亚洲国产精品尤物yw在线观看| 久久久91精品国产| 香蕉久久一区二区不卡无毒影院| 欧美日韩亚洲视频一区| 亚洲国产精品精华液网站| 久久免费精品视频| 欧美在线一二三区| 国产综合精品| 老司机一区二区| 玖玖国产精品视频| 91久久久久久久久久久久久| 欧美高清视频| 欧美激情一区二区三区全黄 | 亚洲欧美影音先锋| 一区二区三区波多野结衣在线观看| 欧美国产激情| 一区二区精品| 亚洲夜间福利| 国产亚洲一本大道中文在线| 久久久蜜桃精品| 久久亚洲春色中文字幕久久久| 影音先锋亚洲电影| 亚洲国产高潮在线观看| 欧美日韩国产不卡| 欧美一级专区免费大片| 久久精品30| 亚洲精品久久久久久久久久久久 | 久久精品人人做人人综合| 欧美在线观看天堂一区二区三区| 国产一区二区三区高清播放| 久久国产66| 欧美91精品| 亚洲午夜久久久久久尤物| 亚洲欧美视频在线| 136国产福利精品导航| 亚洲激情亚洲| 国产欧美日韩一区二区三区在线 | 国产乱码精品一区二区三| 久久偷看各类wc女厕嘘嘘偷窃| 久久一区免费| 亚洲色在线视频| 欧美一级一区| 99re这里只有精品6| 亚洲制服少妇| 亚洲狼人综合| 亚洲私人影院| 国产精品亚洲综合色区韩国| 久久综合九色99| 欧美精品免费看| 久久国产一区二区| 欧美国产亚洲精品久久久8v| 国产一区免费视频| 久久性天堂网| 久久免费高清| 洋洋av久久久久久久一区| 亚洲综合999| 亚洲精品免费在线观看| 午夜精品久久久久久久99水蜜桃| 伊人天天综合| 亚洲在线观看免费| 亚洲人成网站777色婷婷| 欧美一级久久久久久久大片| 一片黄亚洲嫩模| 久久精品夜色噜噜亚洲a∨| 夜夜嗨av一区二区三区网页| 欧美亚洲尤物久久| 亚洲一区影院| 嫩模写真一区二区三区三州| 午夜精品国产更新| 欧美日韩不卡一区| 欧美激情视频一区二区三区免费| 国产欧美日韩亚洲一区二区三区| 日韩一级二级三级| 日韩午夜中文字幕| 欧美顶级艳妇交换群宴| 麻豆91精品91久久久的内涵| 国产欧美在线视频| 亚洲砖区区免费| 亚洲欧美日韩国产成人| 欧美日韩一区二区国产| 亚洲人成亚洲人成在线观看| **性色生活片久久毛片| 久久久久欧美精品| 久久精品一区二区三区中文字幕| 国产精品日韩在线| 亚洲精品一区二区三| 亚洲区一区二区三区| 欧美在线中文字幕| 欧美诱惑福利视频| 国产精品亚洲不卡a| 一区二区三区|亚洲午夜| 亚洲亚洲精品三区日韩精品在线视频| 免费高清在线一区| 欧美国产亚洲精品久久久8v| 在线观看视频亚洲| 欧美成人精品1314www| 亚洲精品欧美日韩专区| 中国女人久久久| 国产欧美精品一区二区色综合 | 亚洲性av在线| 亚洲激精日韩激精欧美精品| 麻豆9191精品国产| 一本大道久久a久久精二百| 欧美日韩一区二区在线视频| 免费亚洲婷婷| 久久在线精品| 欧美一区二区在线观看| 性色av一区二区三区红粉影视| 亚洲精品视频在线| 亚洲黑丝一区二区| 亚洲性感美女99在线| 欧美性久久久| 麻豆成人在线观看| 亚洲精品视频在线观看免费| 欧美视频在线不卡| 亚洲无亚洲人成网站77777| 午夜亚洲性色视频| 国产亚洲欧美日韩美女| 狠狠狠色丁香婷婷综合久久五月 | 亚洲免费在线视频| 国产在线国偷精品产拍免费yy| 国内精品久久久久久久97牛牛| 久久手机免费观看| 欧美国产国产综合| 欧美一级免费视频| 国产偷自视频区视频一区二区| 免费成人黄色| 欧美激情一区二区三区在线视频| 欧美精品国产一区| 久久久免费精品视频| 欧美精品一区二区视频| 亚洲欧美日韩在线观看a三区| 久久精品伊人| 欧美色视频在线| 欧美激情视频网站| 国产丝袜一区二区| 日韩亚洲精品视频| 亚洲私拍自拍| 在线不卡中文字幕| 99精品视频免费观看| 极品尤物久久久av免费看| 日韩视频一区二区三区在线播放 | 久久成人亚洲| 亚洲视频中文| 欧美日韩成人在线播放|