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

Prayer

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

利用游標(biāo)更新數(shù)據(jù)

Posted on 2010-05-10 23:04 Prayer 閱讀(417) 評(píng)論(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 = ……   --已限制了條件了,更新只是當(dāng)前記錄集  

      where current of c1;
end loop;

where current of 子句只能在定義游標(biāo)的時(shí)候使用了for update語句才可以使用。  
上面的語句中r1 是c1中的一行數(shù)據(jù),更新的時(shí)候應(yīng)該用current of c1,因?yàn)閏1只是一個(gè)隱式游標(biāo),它本身不是通過for update定義的,只是代表了循環(huán)中的當(dāng)前記錄。這樣,你的update語句或者delete語句的作用范圍就只在你循環(huán)的當(dāng)前行的范圍中了。  
   
要注意的是,用for update定義的游標(biāo)會(huì)讓數(shù)據(jù)庫對(duì)涉及的行加鎖,別的會(huì)話如果要訪問該游標(biāo)中的行便會(huì)進(jìn)入等待狀態(tài)。你也可以明確指明要加鎖的列,用for update of "列名"  就可以了。 

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

針對(duì)where current of的使用和我們?nèi)粘5母路椒?,進(jìn)行了一個(gè)簡(jiǎn)單的測(cè)試。
編寫了兩個(gè)簡(jiǎn)單的過程,比較使用where current of和不使用時(shí),性能的差異。
SQL> create table t
  as
  select * from all_objects;
表已創(chuàng)建。

SQL> create table t1
  as
  select * from t;
表已創(chuàng)建。

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 過程已成功完成。

對(duì)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>
            夜夜嗨av一区二区三区中文字幕 | 欧美中文在线免费| 久久裸体艺术| 香蕉成人久久| 久久精品女人| 免费试看一区| 欧美成人一区二区三区在线观看| 欧美资源在线| 免费观看欧美在线视频的网站| 欧美在线观看网址综合| 久久黄色影院| 欧美成人一区二区三区片免费| 亚洲成人中文| 亚洲激情一区二区| 中国成人黄色视屏| 久久久久久久久久码影片| 久久综合色播五月| 欧美三级午夜理伦三级中文幕| 国产欧美日韩| 一区二区欧美亚洲| 欧美一区二区视频97| 欧美va亚洲va香蕉在线| 欧美国产日本在线| 亚洲美女黄色| 久久精品123| 久久综合免费视频影院| 欧美成人性生活| 一区二区三区 在线观看视| 欧美在线一二三| 夜夜嗨av一区二区三区四区| 久久嫩草精品久久久精品一| 国产精品日韩一区二区三区| 一区二区欧美精品| 亚洲精品自在在线观看| 欧美精品九九| 99re66热这里只有精品4| 欧美成人久久| 欧美激情视频在线播放| 亚洲国产高清自拍| 亚洲国产裸拍裸体视频在线观看乱了| 新狼窝色av性久久久久久| 国产欧美日韩不卡免费| 欧美一区二区三区四区高清 | 日韩网站在线观看| 欧美久久婷婷综合色| 99在线精品视频| 日韩亚洲国产精品| 国产精品午夜在线| 欧美成人高清视频| 欧美日本精品| 亚洲欧美综合v| 久久蜜桃香蕉精品一区二区三区| 一区三区视频| 99国产精品视频免费观看一公开| 欧美丝袜第一区| 久久久在线视频| 欧美日韩国产黄| 久久久久久久久岛国免费| 免费一级欧美片在线播放| 噜噜噜噜噜久久久久久91| 中文一区字幕| 玖玖玖免费嫩草在线影院一区| 亚洲美女黄色片| 欧美专区一区二区三区| 亚洲视频网站在线观看| 久久久福利视频| 午夜在线电影亚洲一区| 欧美激情在线| 欧美韩国日本一区| 精品二区视频| 欧美尤物一区| 欧美一区二区三区免费观看| 欧美成人精品在线观看| 蜜臀久久99精品久久久画质超高清| 国产精品theporn88| 亚洲激情精品| 亚洲精品一线二线三线无人区| 久久国产天堂福利天堂| 午夜激情亚洲| 国产美女精品视频免费观看| 亚洲一区欧美激情| 性欧美激情精品| 国产一区二区三区黄| 欧美在线观看你懂的| 久久午夜激情| 亚洲黄色在线看| 欧美小视频在线| 午夜亚洲精品| 亚洲国产一区二区在线| 日韩一级免费| 国产欧美日本一区二区三区| 欧美伊人久久大香线蕉综合69| 久久久五月婷婷| 亚洲精品日韩一| 国产精品久久久久国产a级| 亚洲欧美激情一区二区| 国产欧美一区二区在线观看| 这里只有精品在线播放| 美女诱惑一区| 久久国产一区二区三区| 夜夜嗨av一区二区三区中文字幕| 欧美性生交xxxxx久久久| 久久久美女艺术照精彩视频福利播放| 亚洲国产综合在线| 欧美成人a∨高清免费观看| 亚洲视频欧美视频| 亚洲人成网站色ww在线| 国产亚洲精品久久久| 欧美日韩综合不卡| 欧美日韩亚洲高清| 欧美精品一区二区三区很污很色的| 亚洲一区二区视频在线观看| 亚洲国产一区二区在线| 欧美成人精品一区| 欧美韩日一区| 亚洲精品一区二区三区蜜桃久| 男女精品网站| 欧美大香线蕉线伊人久久国产精品| 欧美一二三区精品| 久久国产毛片| 久久―日本道色综合久久| 乱码第一页成人| 欧美国产在线视频| 日韩视频免费观看高清在线视频| 99精品国产在热久久婷婷| 一区二区三区黄色| 亚洲综合欧美日韩| 久久精品一级爱片| 母乳一区在线观看| 国产精品扒开腿爽爽爽视频| 国产精品欧美经典| 国产一区二区三区电影在线观看| 尤物精品国产第一福利三区| 亚洲国产欧美一区| 午夜精品福利在线| 欧美va日韩va| 亚洲一区二区三区四区中文| 性色av一区二区三区红粉影视| 久久久久久精| 99re66热这里只有精品4| 久久精品在这里| 欧美性大战久久久久| 91久久久亚洲精品| 久久99伊人| 宅男噜噜噜66一区二区| 美女网站在线免费欧美精品| 国产精品综合久久久| 99re这里只有精品6| 久久综合亚州| 久久电影一区| 国产午夜亚洲精品羞羞网站 | 欧美午夜精品久久久久久孕妇| 国产亚洲欧美日韩美女| 亚洲视频一区二区| 日韩网站免费观看| 国产精品啊v在线| 亚洲欧美在线aaa| 午夜精品久久久久久久蜜桃app| 欧美午夜精品久久久久久超碰| 激情六月婷婷久久| 欧美 日韩 国产 一区| 男人天堂欧美日韩| 99re视频这里只有精品| 夜夜嗨av一区二区三区免费区| 欧美日韩小视频| 欧美一区二区三区啪啪| 久久久久久久一区二区三区| 欲色影视综合吧| 亚洲欧洲日韩在线| 国产精品系列在线| 免费国产一区二区| 国产精品美女久久久久久免费| 久久99伊人| 欧美理论电影在线播放| 亚洲欧美网站| 美女成人午夜| 久久久久久亚洲精品中文字幕| 老司机精品视频一区二区三区| 一本色道久久综合狠狠躁的推荐| 亚洲天堂免费观看| 久久av一区二区| 午夜精品一区二区三区电影天堂| 久久爱www.| 久久九九有精品国产23| 欧美日韩亚洲在线| 亚洲国产日韩一区| 狠狠干综合网| 久久久久久一区二区三区| 中文欧美日韩| 欧美偷拍一区二区| 亚洲精品专区| 中文av字幕一区| 欧美日韩在线视频一区二区| 欧美国产免费| 日韩亚洲欧美成人一区| 欧美激情在线狂野欧美精品| 欧美激情精品久久久久久黑人| 激情成人综合网| 理论片一区二区在线| 欧美不卡三区|