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

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

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

    JAVA天下

    小小博客,包羅萬有.
    隨筆 - 16, 文章 - 5, 評論 - 11, 引用 - 0
    數(shù)據(jù)加載中……

    數(shù)據(jù)庫設(shè)計和數(shù)據(jù)庫重構(gòu)--小小心得

    對于一個軟件系統(tǒng),數(shù)據(jù)庫設(shè)計是整個系統(tǒng)最核心的部分。

    但由于系統(tǒng)的需求是不斷變化,使得在數(shù)據(jù)庫設(shè)計變得十分重要而且困難。
    在需求變化非常快情況下,有一部分人會認(rèn)為要尋找一種設(shè)計方法以固定不變的表結(jié)構(gòu)來適用不斷變化需
    求。這個觀點是十分不明智和以現(xiàn)時的技術(shù)上暫時不能實現(xiàn)。對于軟件功能程序在需求不斷變法時候,為
    了適應(yīng)新的需求,不斷重構(gòu)系統(tǒng)的代碼。以相同的道理,數(shù)據(jù)庫設(shè)計也是程序設(shè)計的一部分。那么,數(shù)據(jù)
    庫一樣可以使用重構(gòu)來實現(xiàn)適用不斷變化的軟件系統(tǒng)。

    本人認(rèn)為數(shù)據(jù)庫設(shè)計將會分為兩個階段進(jìn)行:

    第一階段:數(shù)據(jù)庫功能上的設(shè)計,由于在軟件系統(tǒng)的數(shù)據(jù)庫建立初期,數(shù)據(jù)庫也只是以實現(xiàn)系統(tǒng)同能為目
    標(biāo),對于系統(tǒng)性能優(yōu)化將不會是數(shù)據(jù)庫設(shè)計的重點。

    ·建立軟件系統(tǒng)的比較通用功能基礎(chǔ)表。在基礎(chǔ)功能建立后,系統(tǒng)使用者會對系統(tǒng)部分功能作出評價和修
    改要求。而功能基礎(chǔ)表設(shè)計為減少日后修改和維護(hù)量,會盡量設(shè)計通用和冗雜結(jié)構(gòu)。

    ·收集軟件系統(tǒng)的一些基本信息。對于軟件系統(tǒng)設(shè)計者來說,對軟件系統(tǒng)的中每個表數(shù)據(jù)量,程序上SQL的
    使用,系統(tǒng)的繁忙時段以及周期等都會有比較初步評估。但對于數(shù)據(jù)庫設(shè)計者來說,這些估計都是只一些
    推斷并沒有實際數(shù)據(jù)支持。為第二階段數(shù)據(jù)庫修改和維護(hù),對軟件系統(tǒng)作一些基本數(shù)據(jù)收集是必要的。

    第二階段為數(shù)據(jù)庫系統(tǒng)能上優(yōu)化,主要是通過第一階段收集系統(tǒng)數(shù)據(jù)庫一些信息來對系統(tǒng)做修改和優(yōu)化
    數(shù)據(jù)庫具體優(yōu)化方案需要以收集信息為基礎(chǔ)來之際來進(jìn)行指定。

    下面本人總結(jié)下,數(shù)據(jù)庫中一般有哪些方面需要進(jìn)行優(yōu)化。

    1優(yōu)化系統(tǒng)的SQL,具體有下面幾點可以進(jìn)行:
    ·對使用頻繁的SQL以創(chuàng)建具體功能存儲過程來代替,可以減少數(shù)據(jù)庫系統(tǒng)對SQL編譯和解析
    ·涉及到數(shù)據(jù)量大的表,盡量建立基本視圖來完成數(shù)據(jù)查詢工作
    ·在程序中盡量使用批量提交
    (注:此方法在多數(shù)據(jù)更新和插入軟件系統(tǒng)中 ,可以比較顯著提高性能。
         在提高系統(tǒng)性能的同時,對程序的多線程控制技術(shù)上增加不少難度。
         若線程控制出現(xiàn)問題,會對數(shù)據(jù)庫帶來災(zāi)難性破壞)
    ·程序在使用SQL的時候,盡量使用少消耗數(shù)據(jù)庫資源的運行方式

    2 數(shù)據(jù)庫表結(jié)構(gòu)的
    ·在數(shù)據(jù)量大表中,盡量減少非必要字段索引建立。
    (注: 索引建立多了查詢速度是可以很有效的提高,但隨之而來的是插入數(shù)據(jù)消耗的數(shù)據(jù)庫資源也提高了很多)
    ·大表需要進(jìn)行分區(qū)存儲
    (注:現(xiàn)在主流數(shù)據(jù)庫都已經(jīng)開始支持分區(qū)存儲數(shù)據(jù))
    ·在不影響系統(tǒng)的業(yè)務(wù)邏輯上,清理數(shù)據(jù)表中被廢棄使用的字段
     (注:在清理廢棄的字段需要關(guān)注的確定這些字段是否真的已經(jīng)被廢棄,程序真的不再啟用)

    3 修改有問題的SQL
    ·在實現(xiàn)功能時候,由于時間或者其他原因整個系統(tǒng)中肯定會有部分性能不優(yōu)的SQL存在。第一階段收集的數(shù)據(jù),現(xiàn)在就可以有效的進(jìn)行使用。通過這些數(shù)據(jù)我們可以很有效地把這些不優(yōu)的SQL[甚至是很爛]找出來,一條一條進(jìn)行調(diào)整
    ·在調(diào)整SQL外,還需要對數(shù)據(jù)庫內(nèi)存或者共享空間等等進(jìn)行調(diào)整;使得數(shù)據(jù)庫永遠(yuǎn)是處于最優(yōu)的狀態(tài)。

    以上是本人一些小小心得,如果不對的地方歡迎指教。

          MK-TIANYI


    MK-TIANYI

    posted on 2008-11-25 21:53 天一 閱讀(3134) 評論(3)  編輯  收藏 所屬分類: 其他

    評論

    # re: 數(shù)據(jù)庫設(shè)計和數(shù)據(jù)庫重構(gòu)--小小心得  回復(fù)  更多評論   

    啥年代了,OO都來不及,還數(shù)據(jù)庫,設(shè)計好OO模型,數(shù)據(jù)庫只是存儲工具而已。
    2008-11-26 10:17 | 天好冷

    # re: 數(shù)據(jù)庫設(shè)計和數(shù)據(jù)庫重構(gòu)--小小心得  回復(fù)  更多評論   

    首先,感謝“ 天好冷” 熱情的評論。

    以下是本人意見:
    各人從事的崗位不同,關(guān)注的側(cè)重點都會是有所不同。
    在面對幾億或者幾千萬的數(shù)據(jù)量,再好的OO設(shè)計也會出現(xiàn)性能問題。
    雖然,數(shù)據(jù)庫只是存儲工具。但如何使得程序通過更加優(yōu)化路徑向存儲工具獲取對應(yīng)信息是由DBA關(guān)心和關(guān)注;也是DBA 不斷努力提高數(shù)據(jù)庫性能一個最基本標(biāo)準(zhǔn)。

    所以,在萬變需求中,DB 需要找一條合適道路來繼續(xù)走下去。不能由于數(shù)據(jù)庫關(guān)系而拖項目或者應(yīng)用程序后腿。
    2008-11-26 12:09 | 天一

    # re: 數(shù)據(jù)庫設(shè)計和數(shù)據(jù)庫重構(gòu)--小小心得  回復(fù)  更多評論   

    @天好冷

    兩個不同的概念,OO能使結(jié)構(gòu)清晰,高內(nèi)聚等..這是從軟件設(shè)計方面的考慮,數(shù)據(jù)庫的優(yōu)化在性能方面帶來的優(yōu)勢,是OO不能代替的,各施其職。如果數(shù)據(jù)庫只是存儲數(shù)據(jù)的工具,那為什么大家都要用數(shù)據(jù)庫,而不用文本文件?
    2010-09-08 23:24 | Edwin.Koo
    主站蜘蛛池模板: 国产成人自产拍免费视频| 日本一区免费电影| WWW国产成人免费观看视频| 亚洲天堂福利视频| 亚洲成AV人片在WWW色猫咪 | 亚洲国产高清在线| 亚洲精品偷拍视频免费观看| 成人免费AA片在线观看| 久久er国产精品免费观看2| 直接进入免费看黄的网站| 亚洲综合av一区二区三区| 亚洲美女大bbbbbbbbb| 人人狠狠综合久久亚洲婷婷| 亚洲高清最新av网站| 午夜精品在线免费观看| 日韩精品无码区免费专区 | 亚洲av综合色区| 亚洲人成人网站色www| 亚洲国产成人久久综合野外| 日本免费中文字幕在线看| A在线观看免费网站大全| 91高清免费国产自产拍2021| 玖玖在线免费视频| 在线观看黄片免费入口不卡| 天堂亚洲免费视频| 牛牛在线精品免费视频观看| 无码一区二区三区亚洲人妻| 亚洲欧洲专线一区| 亚洲依依成人亚洲社区| 在线aⅴ亚洲中文字幕| 中文字幕亚洲精品无码| 亚洲中文字幕无码av| 亚洲熟妇AV一区二区三区宅男| 亚洲免费人成视频观看| 亚洲影视自拍揄拍愉拍| 精品国产日韩久久亚洲| 亚洲国产成人久久精品大牛影视 | 99re热精品视频国产免费| 国产精品免费AV片在线观看| 久久99精品国产免费观看| 精品一区二区三区无码免费视频|