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

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

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

    隨筆-14  評論-142  文章-0  trackbacks-0
      2007年9月6日

    1, 臟讀

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

    臟讀的后果:如果后一個事務回滾,那么它所做的修改,統統都會被撤銷。前一個事務讀到的數據,就是垃圾數據。


    舉個例子:預訂房間。
    有一張Reservation表,往表中插入一條記錄,來訂購一個房間。

     事務1:在Reservation表中插入一條記錄,用于預訂99號房間。

     事務2:查詢,尚未預定的房間列表,因為99號房間,已經被事務1預訂。所以不在列表中。

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

    現在99號房間則為可用。
    所以,事務2所用的是一個無效的房間列表,因為99號房間,已經可用。如果它是最后一個沒有被預定的房間,那么這將是一個嚴重的失誤。

    注:臟讀的后果很嚴重。

     

    2,不可重復讀。

    在同一個事務中,再次讀取數據時【就是你的select操作】,所讀取的數據,和第1次讀取的數據,不一樣了。就是不可重復讀。

    舉個例子:
     事務1:查詢有雙人床房間。99號房間,有雙人床。

     事務2:將99號房間,改成單人床房間。

     事務1:再次執行查詢,請求所有雙人床房間列表,99號房間不再列表中了。也就是說,
                   事務1,可以看到其他事務所做的修改。


    在不可重復讀,里面,可以看到其他事務所做的修改,而導致2次的查詢結果不再一樣了。
    這里的修改,是提交過的。也可以是沒有提交的,這種情況同時也是臟讀。

    如果,數據庫系統的隔離級別。允許,不可重復讀。那么你啟動一個事務,并做一個select查詢操作。
    查詢到的數據,就有可能,和你第2次,3次...n次,查詢到的數據不一樣。一般情況下,你只會做一次,select
    查詢,并以這一次的查詢數據,作為后續計算的基礎。因為允許出現,不可重復讀。那么任何
    時候,查詢到的數據,都有可能被其他事務更新,查詢的結果將是不確定的。


    注:如果允許,不可重復讀,你的查詢結果,將是不確定的。一個不確定的結果,你能容忍嗎?


    3,幻讀

     

    事務1讀取指定的where子句所返回的一些行。然后,事務2插入一個新行,這個新行也滿足事務1使用的查詢
    where子句。然后事務1再次使用相同的查詢讀取行,但是現在它看到了事務2剛插入的行。這個行被稱為幻象,
    因為對事務1來說,這一行的出現是不可思議的。

    舉個例子:
    事務1:請求沒有預定的,雙人床房間列表。
    事務2:向Reservation表中插入一個新紀錄,以預訂99號房間,并提交。
    事務1:再次請求有雙人床的未預定的房間列表,99號房間,不再位于列表中。


    注:幻讀,針對的是,Insert操作。如果事務2,插入的記錄,沒有提交。那么同時也是臟讀。

     

     

     

     

     

     


     

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

     clob = rs.getClob(fieldName);

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

    posted @ 2009-04-08 12:17 liulang 閱讀(3195) | 評論 (3)編輯 收藏
    在resin3.0中,deploy是默認的發布目錄,在MyEclipse中直接發布到resin的deploy目錄中,起動服務器就會運行發布的項目,而在resin-3.1.1中發布到deploy目錄下的項目不回運行,需要修改conf目錄下的resin.conf文件,用editplus等文本編輯器打開,大概在229行左右,有一行 <web-app-deploy path="webapps"/>是建產發布目錄路徑的,我們在后邊加上一行 <web-app-deploy path="deploy"/>,這樣在deploy目錄下的項目就能正常運行了。
    posted @ 2009-04-07 10:22 liulang 閱讀(694) | 評論 (0)編輯 收藏
         摘要: java折半查找算法  閱讀全文
    posted @ 2007-09-06 18:02 liulang 閱讀(5227) | 評論 (4)編輯 收藏
    主站蜘蛛池模板: 天堂亚洲免费视频| 成人影片麻豆国产影片免费观看| 国产精品无码一区二区三区免费 | 无码AV动漫精品一区二区免费 | 免费人成视频在线播放| 国产特级淫片免费看| 久久亚洲精品11p| 国产又大又黑又粗免费视频 | 国产精品内射视频免费| 亚洲 小说区 图片区 都市| 极品美女一级毛片免费| 亚洲七七久久精品中文国产| www.av在线免费观看| 亚洲欧洲美洲无码精品VA| 日韩免费观看一区| 亚洲色偷偷av男人的天堂| 免费a级毛片无码a∨蜜芽试看| 亚洲人和日本人jizz| 成人性生交大片免费看午夜a| 亚洲6080yy久久无码产自国产| 国产免费资源高清小视频在线观看| 深夜a级毛片免费无码| 亚洲欧洲无码AV电影在线观看| 59pao成国产成视频永久免费| wwwxxx亚洲| 亚洲AV无码成H人在线观看| 精品一区二区三区免费视频| 亚洲美女视频网址| 成年女人男人免费视频播放 | 成全视频免费观看在线看| 久久精品7亚洲午夜a| 97无码免费人妻超级碰碰夜夜| 青娱乐在线视频免费观看| 久久亚洲国产视频| 成人免费a级毛片| 99久久成人国产精品免费| 亚洲午夜久久久久久尤物| 亚洲另类少妇17p| 中文字幕在线免费| 国产亚洲综合精品一区二区三区| 亚洲av无码国产精品夜色午夜|