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

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

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

    piliskys

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      25 隨筆 :: 0 文章 :: 40 評論 :: 0 Trackbacks
    眾所都知,數據庫事務及聯接在java操作中是一個昂貴的開銷,一些程序及效率的優化在這里有很大的優化空間,但感覺數據庫的開啟關閉好像沒有統一和最優的方案,

    如上圖:假設AF為java中一次會話的過程,而bc和de表示java與數據庫操作占用的過程(當然在會話中可能存在不止兩次的數據庫操作),現在可能有下面幾種情況:
    1),在A之前就開啟數據庫及事務,在F之后提交或回滾事務和斷開數據庫(這可能在有些架構中是這樣實現的,因為作為程序員不用考慮數據庫的聯接關閉及事務,統一由公用類完成)。
    2),在b之時開啟在c之后斷開,在d之時又開啟,在e之后斷開,這也很常見,典型的用時開,用完就斷。
    3),在b之時開啟,在F之后斷開,其實這種是跟第一種相同,只是一種改時罷了,因為我們可以確定在一次會話中第一次用數據庫,有人可能會說在e之后斷開不是更好,節省了ef過程的數據庫聯接開銷,理論上是這樣的,但是這是做不到的,因為我們不知道用了這次數據庫后在這次會話中就不會再用了,所以我們只能在f點結束后統一斷開及處理事務。
    4),可能還有其它的方案是我不清楚的。
    因此,我們可以看到在4方案沒有明確定義之前,只有2和3是可比較的,對于數據庫占有的時間來看,2方案是肯定優于3的,但是我們清楚數據庫的開啟及聯接本身也是一個比較大的開銷,就像一個電視機,多開些可能會浪費些電,但如果總是一開一關的話,電視機也容易壞。如要有一個統一的轉化參考標準:一次開銷代表多少,而占用的時間又代表多少,那么我們肯定可以選出一個最優方案來,但這看來是很難做到的(看來軟件的設計遠沒有種田來的實在啊).
    個人感覺應該采取第3種方案,因為一些非數據庫的處理多半是內存中的處理及運算,應該很快(但話是不能絕對的,java的一些文件處理及遠程調用等可能也很慢)。
    如在數據庫調用方面有何見解,望多探討,以上屬個人愚見,望能拋磚引玉。
    posted on 2006-03-21 08:45 霹靂火 閱讀(770) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 无人在线观看免费高清| 午夜在线免费视频 | 无人在线观看完整免费版视频| 久久精品国产亚洲av四虎| 久久精品无码精品免费专区| 国产V亚洲V天堂A无码| 久久久久免费精品国产| 亚洲国产精品久久久久网站| 一个人免费日韩不卡视频| 亚洲A∨无码一区二区三区| 99久久99久久精品免费观看| 亚洲精品资源在线| 无码一区二区三区免费视频| 亚洲精品无码你懂的| 全亚洲最新黄色特级网站 | 97在线视频免费播放| 亚洲永久中文字幕在线| 国产99视频精品免费观看7| 国产AV旡码专区亚洲AV苍井空| 国外成人免费高清激情视频| 国产精品久久久久久亚洲小说| 国产嫩草影院精品免费网址| 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲国产精品免费在线观看| 亚洲人成网网址在线看| 日韩免费电影在线观看| 窝窝影视午夜看片免费| 久久亚洲精品成人777大小说| 国产香蕉免费精品视频| 狼人大香伊蕉国产WWW亚洲| 亚洲中文字幕无码久久精品1 | 毛片在线播放免费观看| 亚洲资源最新版在线观看| 免费国产成人午夜电影| 免费一级毛片在线播放视频| 亚洲日韩精品无码专区| 亚洲综合伊人久久综合| 国产无人区码卡二卡三卡免费 | 国产亚洲精品成人久久网站| 国产亚洲真人做受在线观看| 在线观看免费人成视频色|