優(yōu)化數(shù)據(jù)庫(kù)對(duì)象

優(yōu)化表的數(shù)據(jù)類型

procedure anylyse() 可以對(duì)當(dāng)前應(yīng)用的表進(jìn)行分析睦擂,該函數(shù)可以對(duì)數(shù)據(jù)表中列的數(shù)據(jù)類型提出優(yōu)化建議

select * from tablename procedure analyse();

通過(guò)拆分提高表的訪問(wèn)效率

這里所說(shuō)的拆分,是指對(duì)數(shù)據(jù)表進(jìn)行拆分顿仇。如果針對(duì) MyISAM 類型的表進(jìn)行,那么有兩種拆分方法

  • 第一種是垂直拆分鸿吆,即把主碼和一些列放到一個(gè)表述呐,然后把主碼和另外的列放到另一個(gè)表中。如果一個(gè)表中某些列常用乓搬,而另一些列不常用,則可以采用垂直拆分激蹲,另外江掩,垂直拆分可以使得數(shù)據(jù)行變小含蓉,一個(gè)數(shù)據(jù)頁(yè)就能存放更多的數(shù)據(jù)项郊,在查詢時(shí)就會(huì)減少 I/O 次數(shù)斟赚。其缺點(diǎn)是需要管理冗余列,查詢所有數(shù)據(jù)需要聯(lián)合操作
  • 第二種方法是水平拆分任洞,即根據(jù)一列或多列數(shù)據(jù)的值把數(shù)據(jù)行放到兩個(gè)獨(dú)立的表中发侵。水平拆分通常在以下幾種情況下使用:
    • 表很大,分割后可以降低在查詢時(shí)需要讀的數(shù)據(jù)和索引的頁(yè)數(shù)刃鳄,同時(shí)也降低了索引的層數(shù),提高查詢速度
    • 表中的數(shù)據(jù)本來(lái)就有獨(dú)立性挪鹏,例如愉烙,表中分別記錄各個(gè)地區(qū)的數(shù)據(jù)或不同時(shí)期的數(shù)據(jù),特別是有些數(shù)據(jù)常用步责,而另外一些數(shù)據(jù)不常用
    • 而要把數(shù)據(jù)存放到多個(gè)介質(zhì)上

逆規(guī)范化

數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)要滿足規(guī)范化這個(gè)道理大家都非常清楚蔓肯,但是否數(shù)據(jù)的規(guī)范化程度越高越好呢遂鹊?這還是由實(shí)際需求來(lái)決定稿辙。因?yàn)橐?guī)范化越高气忠,那么產(chǎn)生的關(guān)系就越多,關(guān)系過(guò)多的直接結(jié)果就是導(dǎo)致表之間的連接操作越頻繁旧噪,而表之間的連接操作是性能較低的操作,直接影響到查詢的速度宦赠,所以,對(duì)于查詢較多的應(yīng)用勾扭,就需要根據(jù)實(shí)際情況運(yùn)用逆規(guī)范化對(duì)數(shù)據(jù)進(jìn)行設(shè)計(jì),通過(guò)逆規(guī)范化來(lái)提高查詢的性能

反規(guī)范的好處是降低連接操作的需求降低外碼和索引的數(shù)目桅滋,還可能減少表的數(shù)目身辨,相應(yīng)帶來(lái)的問(wèn)題是可能出現(xiàn)數(shù)據(jù)的完整性問(wèn)題。加快查詢速度煌珊,但會(huì)降低修改速度更振。因此,決定做反規(guī)范時(shí)蔬浙,一定要權(quán)衡利弊,仔細(xì)分析應(yīng)用的數(shù)據(jù)存取需求和實(shí)際的性能特點(diǎn)敛滋,好的索引和其他方法經(jīng)常能夠解決性能問(wèn)題绎晃,而不必采用反規(guī)范這種方法

在進(jìn)行反規(guī)范操作之前,要充分考慮數(shù)據(jù)的存取需求庶艾,常用表表的大小,一些特殊的計(jì)算颖榜,數(shù)據(jù)的物理存儲(chǔ)位置等煤裙。常用的反規(guī)范技術(shù)有增加冗余列,增加派生列硼砰,重新組表和分割表

另外,逆規(guī)范技術(shù)需要維護(hù)數(shù)據(jù)的完整性恶阴。無(wú)論使用何種反規(guī)范技術(shù),都需要一定的管理來(lái)維護(hù)數(shù)據(jù)的完整性焦匈,常用的方法是批處理維護(hù)昵仅,應(yīng)用邏輯和觸發(fā)器

使用中間表提高統(tǒng)計(jì)查詢速度

對(duì)于數(shù)據(jù)量較大的表,在其上進(jìn)行統(tǒng)計(jì)查詢通常會(huì)效率很低岩饼,并且還要考慮統(tǒng)計(jì)查詢是否會(huì)對(duì)在線的應(yīng)用產(chǎn)生負(fù)面影響薛夜。通常在這種情況下,使用中間表可以提高統(tǒng)計(jì)查詢的效率

中間表復(fù)制原表部分?jǐn)?shù)據(jù)寞冯,并且與原表相隔離晚伙,在中間表上做統(tǒng)計(jì)查詢不會(huì)對(duì)在線應(yīng)用產(chǎn)生負(fù)面影響

中間表上可以靈活的添加索引或正價(jià)臨時(shí)用的新字段,從而達(dá)到提高統(tǒng)計(jì)查詢效率和輔助統(tǒng)計(jì)查詢作用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末漓帚,一起剝皮案震驚了整個(gè)濱河市午磁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昧辽,老刑警劉巖登颓,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咕痛,居然都是意外死亡喇嘱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門块仆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人悔据,你說(shuō)我怎么就攤上這事≡蹇荆” “怎么了头滔?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵坤检,是天一觀的道長(zhǎng)兴猩。 經(jīng)常有香客問(wèn)我早歇,道長(zhǎng),這世上最難降的妖魔是什么晨另? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任谱姓,我火速辦了婚禮,結(jié)果婚禮上垛玻,老公的妹妹穿的比我還像新娘奶躯。我一直安慰自己,他們只是感情好嘹黔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布儡蔓。 她就那樣靜靜地躺著,像睡著了一般喂江。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涨岁,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音梢薪,去河邊找鬼蹬铺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛秉撇,可吹牛的內(nèi)容都是我干的甜攀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼琐馆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼规阀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起瘦麸,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谁撼,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后瞎暑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡了赌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玄糟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勿她。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖阵翎,靈堂內(nèi)的尸體忽然破棺而出逢并,到底是詐尸還是另有隱情,我是刑警寧澤郭卫,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布砍聊,位于F島的核電站,受9級(jí)特大地震影響贰军,放射性物質(zhì)發(fā)生泄漏玻蝌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一词疼、第九天 我趴在偏房一處隱蔽的房頂上張望俯树。 院中可真熱鬧,春花似錦贰盗、人聲如沸许饿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)陋率。三九已至球化,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間翘贮,已是汗流浹背赊窥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狸页,地道東北人锨能。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像芍耘,于是被迫代替她去往敵國(guó)和親址遇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容