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

          1, 臟讀

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

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


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

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

           事務(wù)2:查詢,尚未預(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)重的失誤。

          注:臟讀的后果很嚴(yán)重。

           

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

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

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

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

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


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

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


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


          3,幻讀

           

          事務(wù)1讀取指定的where子句所返回的一些行。然后,事務(wù)2插入一個(gè)新行,這個(gè)新行也滿足事務(wù)1使用的查詢
          where子句。然后事務(wù)1再次使用相同的查詢讀取行,但是現(xiàn)在它看到了事務(wù)2剛插入的行。這個(gè)行被稱為幻象,
          因?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 閱讀(7336) | 評(píng)論 (0)編輯 收藏
            2009年4月8日

           clob = rs.getClob(fieldName);

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

          posted @ 2009-04-08 12:17 liulang 閱讀(3209) | 評(píng)論 (3)編輯 收藏
            2009年4月7日
          在resin3.0中,deploy是默認(rèn)的發(fā)布目錄,在MyEclipse中直接發(fā)布到resin的deploy目錄中,起動(dòng)服務(wù)器就會(huì)運(yùn)行發(fā)布的項(xiàng)目,而在resin-3.1.1中發(fā)布到deploy目錄下的項(xiàng)目不回運(yùn)行,需要修改conf目錄下的resin.conf文件,用editplus等文本編輯器打開(kāi),大概在229行左右,有一行 <web-app-deploy path="webapps"/>是建產(chǎn)發(fā)布目錄路徑的,我們?cè)诤筮吋由弦恍?<web-app-deploy path="deploy"/>,這樣在deploy目錄下的項(xiàng)目就能正常運(yùn)行了。
          posted @ 2009-04-07 10:22 liulang 閱讀(697) | 評(píng)論 (0)編輯 收藏
            2007年9月6日
               摘要: java折半查找算法  閱讀全文
          posted @ 2007-09-06 18:02 liulang 閱讀(5235) | 評(píng)論 (4)編輯 收藏
            2007年9月5日
               摘要: 這是面試的時(shí)候,最后一道算法題, 可能不習(xí)慣手寫代碼, 做錯(cuò)了,太沒(méi)面子了...
          回來(lái)一上機(jī)就寫出來(lái)了!
            閱讀全文
          posted @ 2007-09-05 17:04 liulang 閱讀(6515) | 評(píng)論 (5)編輯 收藏
               摘要: 面試?yán)峡歼@個(gè),都背熟了
            閱讀全文
          posted @ 2007-09-05 16:58 liulang 閱讀(94844) | 評(píng)論 (32)編輯 收藏
            2006年10月4日
               摘要:   閱讀全文
          posted @ 2006-10-04 06:47 liulang 閱讀(598) | 評(píng)論 (0)編輯 收藏
            2006年6月9日
               摘要: java集合類總結(jié)  閱讀全文
          posted @ 2006-06-09 00:16 liulang 閱讀(21022) | 評(píng)論 (2)編輯 收藏
            2006年6月8日
               摘要:   閱讀全文
          posted @ 2006-06-08 22:23 liulang 閱讀(3545) | 評(píng)論 (5)編輯 收藏
            2006年5月27日
               摘要: 關(guān)聯(lián)關(guān)系  閱讀全文
          posted @ 2006-05-27 11:43 liulang 閱讀(2958) | 評(píng)論 (3)編輯 收藏
          僅列出標(biāo)題  
          主站蜘蛛池模板: 永善县| 鸡泽县| 石泉县| 万盛区| 金坛市| 永昌县| 神池县| 边坝县| 银川市| 霍林郭勒市| 徐闻县| 民和| 化隆| 买车| 云龙县| 田东县| 嘉义市| 华亭县| 特克斯县| 射阳县| 锦州市| 伊通| 大新县| 五华县| 阿拉善右旗| 太保市| 银川市| 云霄县| 石家庄市| 丽江市| 辽宁省| 灵台县| 鲁山县| 沁水县| 垦利县| 郸城县| 昭苏县| 澎湖县| 沿河| 和顺县| 凉山|