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

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

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

      知方可補(bǔ)不足~Sqlserver發(fā)布訂閱與sql事務(wù)的關(guān)系

      回到目錄

      前幾講說(shuō)了一下通過(guò)sqlserver的發(fā)布與訂閱來(lái)實(shí)現(xiàn)數(shù)據(jù)的同步,再通過(guò)EF這個(gè)ORM架構(gòu)最終實(shí)現(xiàn)架構(gòu)系統(tǒng)的讀寫(xiě)分離,而在使用發(fā)布與訂閱來(lái)實(shí)現(xiàn)數(shù)據(jù)同步時(shí),需要我們注意幾點(diǎn),那就是當(dāng)操作被使用在“事務(wù)上下文”時(shí),你的同步操作有可能會(huì)被延時(shí),嘟嘟!

      這個(gè)不難理解,我們都知道事務(wù)有一些級(jí)別,而最高級(jí)別serializable 又是.net TransactionScope默認(rèn)的級(jí)別,所以,在程序開(kāi)發(fā)中,只要用了事務(wù),基本都是serializable,而這個(gè)級(jí)別是最安全的,當(dāng)然對(duì)于SQL來(lái)說(shuō),也是最容易發(fā)生死鎖及阻塞的,呵呵。

      如果對(duì)要SQL鎖不清楚的同學(xué),可以看我的這篇文章《知方可補(bǔ)不足~Sqlserver中的幾把鎖和.net中的事務(wù)級(jí)別

      下面是我總結(jié)的,在事務(wù)為serializable級(jí)別,對(duì)于發(fā)布訂訂閱同步的關(guān)系

      set transaction isolation level serializable 
      begin tran
       
      select * from User_Info                --讀取所有數(shù)據(jù),等待事務(wù)結(jié)束后才能同步 TAB(S) ,TAB(IX)    
      update User_Info set Status=1 where UserInfoID=1 --更新其他數(shù)據(jù),可以立即同步  TAB(IX),Page(IX),Key(X)
      select * from User_Info where UserInfoID=1       --事務(wù)中讀取其他數(shù)據(jù),可以立即同步 TAB(IS),KEY(S),Page(IS)
      select * from User_Info where UserInfoID=28      --事務(wù)中讀當(dāng)前數(shù)據(jù),等待事務(wù)結(jié)束后才能同步   TAB(IS),KEY(S),Page(IS)
      select * from User_Info where UserInfoID<30      --事務(wù)中讀取范圍數(shù)據(jù),包括要同步的數(shù)據(jù),等待事務(wù)結(jié)束后才能同步,tab(is), KEY(ranges-s),page(is)
      select * from User_Info where UserInfoID<10      --事務(wù)中讀取范圍數(shù)據(jù),不包括要同步的數(shù)據(jù),可以立即同步,tab(is), KEY(ranges-s),page(is)
      
      waitfor delay '00:02:00' --等待2分鐘 
      commit tran

      通過(guò)上面的結(jié)果,我們可以知道,只要當(dāng)前需要同步(正在發(fā)生變化的數(shù)據(jù),就是要同步的數(shù)據(jù))的數(shù)據(jù)不在被鎖的范圍里,就不會(huì)對(duì)同步有所影響,當(dāng)然,你要是在事務(wù)里來(lái)個(gè)select * from table,那你就玩完了,需要等待你的事務(wù)結(jié)束后,你這個(gè)張表發(fā)生變

      化的數(shù)據(jù)才能被同步,所以,經(jīng)驗(yàn)告訴我們,在事務(wù)里,能不寫(xiě)查詢就不要寫(xiě),呵呵。

      下面圖中顯示的是在一個(gè)事務(wù)里添加了范圍鎖的例子,看上支挺恐怖的,它對(duì)應(yīng)的語(yǔ)句是select * from User_Info where UserInfoID<10,直接查詢出10條數(shù)據(jù),這時(shí),SQL會(huì)把這10條數(shù)據(jù)分別加上范圍共享鎖,以對(duì)這10條數(shù)據(jù)進(jìn)行保護(hù),你此時(shí),要想對(duì)這10條數(shù)據(jù)的任何一條進(jìn)行修改,那只能等待事務(wù)結(jié)束后了......

      回到目錄

      posted @ 2015-01-16 10:19  張占嶺  閱讀(1404)  評(píng)論(2)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产乱码精品一区二区三上| 伊人久久大香线蕉综合影院首页 | 欧美成人aaa片一区国产精品| 国产午夜精品久久一二区| 亚洲国模精品一区二区| 亚洲中文字幕无码永久在线 | 日韩有码中文字幕第一页| 日韩有码中文字幕国产| 亚洲风情亚aⅴ在线发布| 国产成人高清精品免费软件| 天天澡日日澡狠狠欧美老妇| 55夜色66夜色国产精品视频| 亚洲国产高清第一第二区| 国产精品美女久久久久久麻豆| 妓院一钑片免看黄大片| 偷窥少妇久久久久久久久| 九九热免费精品在线视频| 成A人片亚洲日本久久| 九九热精品在线观看| 韩国三级网一区二区三区| 久章草这里只有精品| 亚洲丰满熟女一区二区蜜桃| 日韩亚洲精品中文字幕| 成人天堂资源www在线| 亚洲大尺度一区二区三区| 国产AV午夜精品一区二区三区| 国产精品不卡区一区二| 性欧美暴力猛交69hd| 国产精品一区二区三区四区| 汾西县| 精品国产av一区二区果冻传媒| 午夜福利精品国产二区| 巨大黑人极品videos精品| 国产精品国产片在线观看| 怡红院一区二区三区在线| 佛冈县| 久久亚洲欧美日本精品| 成人免费无遮挡在线播放| 日韩中文字幕高清有码| 男女一级国产片免费视频| 亚洲欧美人成人让影院|