<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-14  評(píng)論-142  文章-0  trackbacks-0
      2009年4月8日

    1, 臟讀

    一個(gè)事務(wù)讀到另一個(gè)事務(wù),尚未提交的修改,就是臟讀。這里所謂的修改,除了Update操作,不要忘了,還包括
    Insert和Delete操作。

    臟讀的后果:如果后一個(gè)事務(wù)回滾,那么它所做的修改,統(tǒng)統(tǒng)都會(huì)被撤銷(xiāo)。前一個(gè)事務(wù)讀到的數(shù)據(jù),就是垃圾數(shù)據(jù)。


    舉個(gè)例子:預(yù)訂房間。
    有一張Reservation表,往表中插入一條記錄,來(lái)訂購(gòu)一個(gè)房間。

     事務(wù)1:在Reservation表中插入一條記錄,用于預(yù)訂99號(hào)房間。

     事務(wù)2:查詢(xún),尚未預(yù)定的房間列表,因?yàn)?9號(hào)房間,已經(jīng)被事務(wù)1預(yù)訂。所以不在列表中。

     事務(wù)1:信用卡付款。由于付款失敗,導(dǎo)致整個(gè)事務(wù)回滾。
            所以插入到Reservation 表中的記錄并不置為持久(即它將被刪除)。

    現(xiàn)在99號(hào)房間則為可用。
    所以,事務(wù)2所用的是一個(gè)無(wú)效的房間列表,因?yàn)?9號(hào)房間,已經(jīng)可用。如果它是最后一個(gè)沒(méi)有被預(yù)定的房間,那么這將是一個(gè)嚴(yán)重的失誤。

    注:臟讀的后果很?chē)?yán)重。

     

    2,不可重復(fù)讀。

    在同一個(gè)事務(wù)中,再次讀取數(shù)據(jù)時(shí)【就是你的select操作】,所讀取的數(shù)據(jù),和第1次讀取的數(shù)據(jù),不一樣了。就是不可重復(fù)讀。

    舉個(gè)例子:
     事務(wù)1:查詢(xún)有雙人床房間。99號(hào)房間,有雙人床。

     事務(wù)2:將99號(hào)房間,改成單人床房間。

     事務(wù)1:再次執(zhí)行查詢(xún),請(qǐng)求所有雙人床房間列表,99號(hào)房間不再列表中了。也就是說(shuō),
                   事務(wù)1,可以看到其他事務(wù)所做的修改。


    在不可重復(fù)讀,里面,可以看到其他事務(wù)所做的修改,而導(dǎo)致2次的查詢(xún)結(jié)果不再一樣了。
    這里的修改,是提交過(guò)的。也可以是沒(méi)有提交的,這種情況同時(shí)也是臟讀。

    如果,數(shù)據(jù)庫(kù)系統(tǒng)的隔離級(jí)別。允許,不可重復(fù)讀。那么你啟動(dòng)一個(gè)事務(wù),并做一個(gè)select查詢(xún)操作。
    查詢(xún)到的數(shù)據(jù),就有可能,和你第2次,3次...n次,查詢(xún)到的數(shù)據(jù)不一樣。一般情況下,你只會(huì)做一次,select
    查詢(xún),并以這一次的查詢(xún)數(shù)據(jù),作為后續(xù)計(jì)算的基礎(chǔ)。因?yàn)樵试S出現(xiàn),不可重復(fù)讀。那么任何
    時(shí)候,查詢(xún)到的數(shù)據(jù),都有可能被其他事務(wù)更新,查詢(xún)的結(jié)果將是不確定的。


    注:如果允許,不可重復(fù)讀,你的查詢(xún)結(jié)果,將是不確定的。一個(gè)不確定的結(jié)果,你能容忍嗎?


    3,幻讀

     

    事務(wù)1讀取指定的where子句所返回的一些行。然后,事務(wù)2插入一個(gè)新行,這個(gè)新行也滿(mǎn)足事務(wù)1使用的查詢(xún)
    where子句。然后事務(wù)1再次使用相同的查詢(xún)讀取行,但是現(xiàn)在它看到了事務(wù)2剛插入的行。這個(gè)行被稱(chēng)為幻象,
    因?yàn)閷?duì)事務(wù)1來(lái)說(shuō),這一行的出現(xiàn)是不可思議的。

    舉個(gè)例子:
    事務(wù)1:請(qǐng)求沒(méi)有預(yù)定的,雙人床房間列表。
    事務(wù)2:向Reservation表中插入一個(gè)新紀(jì)錄,以預(yù)訂99號(hào)房間,并提交。
    事務(wù)1:再次請(qǐng)求有雙人床的未預(yù)定的房間列表,99號(hào)房間,不再位于列表中。


    注:幻讀,針對(duì)的是,Insert操作。如果事務(wù)2,插入的記錄,沒(méi)有提交。那么同時(shí)也是臟讀。

     

     

     

     

     

     


     

    posted @ 2009-04-13 12:37 liulang 閱讀(7331) | 評(píng)論 (0)編輯 收藏

     clob = rs.getClob(fieldName);

     String  rtn=clob.getSubString((long)1,(int)clob.length());

    posted @ 2009-04-08 12:17 liulang 閱讀(3195) | 評(píng)論 (3)編輯 收藏
    主站蜘蛛池模板: 亚洲一区二区三区不卡在线播放| 香蕉视频在线观看亚洲| 在线综合亚洲欧洲综合网站| 1000部拍拍拍18勿入免费视频软件 | 免费在线观看你懂的| 亚洲成AV人影片在线观看| 国产va免费精品观看精品| 亚洲伊人久久大香线蕉AV| 永久免费毛片手机版在线看| 在线观看亚洲视频| 亚洲Av无码乱码在线观看性色| 黄色三级三级三级免费看| 国产国拍亚洲精品福利| 免费无码一区二区三区蜜桃| 亚洲第一福利网站| 国产国产人免费视频成69堂| 亚洲欧洲AV无码专区| 亚洲黄片手机免费观看| 午夜不卡久久精品无码免费| 亚洲福利视频网站| 在线精品免费视频| 丰满妇女做a级毛片免费观看| 久久精品国产亚洲沈樵| 九九精品免费视频| 国产精品亚洲专区在线播放| 国产乱辈通伦影片在线播放亚洲 | 永久免费AV无码国产网站 | 亚洲一区精品视频在线| 女人18毛片水最多免费观看| 美女被爆羞羞网站在免费观看| 中文亚洲AV片不卡在线观看| 18禁男女爽爽爽午夜网站免费| 亚洲精品无码久久久久YW| 中文字幕亚洲无线码| 最近中文字幕免费完整| 精品久久久久久亚洲中文字幕| 久久精品九九亚洲精品天堂| 日本精品人妻无码免费大全| 亚洲免费在线观看| 亚洲国产高清视频在线观看| 亚洲AV无码一区二区三区国产|