數據庫優化之結構設計

簡要:每一項技術都離不開數據庫,數據庫猶如人的大腦;密不可分,一旦出了問題(故障),停頓,卡主后果可想而知;潛心學習數據庫優化3個月,現在將學到的經驗分享給大家,希望能夠跟各位PHP大神分享和學習探索,如果有不對或者好的建議告知下;*~*!

設計好處

1. 良好的數據庫邏輯設計和物理設計師數據庫獲得高性能的基礎

2. 范式化設計和反范式化設計(減少冗余、減少異常、讓數據組織的更加和諧)

3. 優化目的

? ? (1) 減少數據冗余(盡量)

? ? (2) 盡量避免數據維護中出現更新、插入和刪除等異常

? ? ? ? a. 插入:如果表中的某個實體隨著另一個實體而存在

? ? ? ? b. 更新:如果更改表中的某個實體的單獨屬性時,需要對多表進行更新

? ? ? ? c. 刪除:如果刪除表中的某一時則會導致其他實體的消失

設計過程

1. 需求分析

? ????? (1) 全面了解產品設計的需求

????????(2) 存儲需求(比如一對多,多對一等)

????????(3) 數據處理需求

????????(4) 數據的安全性和完整性

2. 邏輯分析

3. 設計數據的邏輯結構

4. 數據實體之前的邏輯關系,解決數據冗余和維護異常

5. 物理設計

????????根據所使用數據特點設計表結構

6.維護優化

????????對索引、存儲結構等進行優化

7. 范式化

????????設計沒有數據冗余和維護異常的數據結構

8. 反范式化

????????針對范式化而言的,在前面介紹了數據庫設計的范式,所謂的反范式化就是為了性能和讀取效率的考慮而適當的對數據庫設計范式的要求進行違法,而允許存在少量的數據冗余,換句話來說反范式化就是使用空間來換取時間

本篇單單解釋物理設計、范式化與反范式化各自優缺點;其他將在文章《數據庫優化》系列一一講明;

范式化與反范式化

1. 范式化設計的優缺點?

? ? ????(1) 優點

? ? ? ? ? ? ????a. 盡量減少數據冗余

????????????????b. 范式化的更新操作比反范式化更快

????????????????c. 范式化的表通常比反范式更小

? ? ? ? (2) 缺點

? ? ? ? ? ? ? ? a. 對于查詢需要對多個表進行關聯(mysql限制不能超過10張表)

????????????????b. 更難進行索引優化

2. 反范式化設計的優缺點?

? ? ????(1) 優點

? ? ? ? ? ? ? ? ? ? a. 減少表的關聯

????????????????????b. 更好進行索引優化

? ? ? ? (2) 缺點

? ? ? ? ? ? ? ? a. 存在數據冗余及數據庫維護異常

????????????????b. 對數據修改需要更多的成本

設計范式化要求的三范式:

? 第一范式?

????????* 數據庫表中的所有字段都只具有單一屬性

????????* 單一屬性的列是由基本的數據類型所構成的?

????????* 設計及出來的表都是簡單的二維表?

第二范式

? ? ? ? * 要求一個表中只具有一個業務主鍵,也就是說符合第二范式的表中不能存在非主鍵列對只對部分主鍵的依賴關系

第三范式

? ? ? ? * 數據不能存在傳遞關系,即每個屬性都跟主鍵有直接關系而不是間接關系

物理設計

1. 物理設計的內容?

? ? ????(1) 定義數據庫、表及字段的命名規范

? ? ? ? (2) 選擇合適的存儲引擎

????????(3) 為表中的字段選擇合適的數據類型

????????(4) 建立數據庫結構

2. 定義數據庫、表及字段的命名規范??

? ? ? ? (1) 可讀性原則

????????(2) 表意行原則

????????(3) 長名原則

3. 選擇合適的存儲引擎


4.?為表中的字段選擇合適的數據類型(數據頁)?

? ?????當一個列可以選擇多種數據類型時,應該優先考慮數字類型,其次是日期或二進制類型,最后是字符類型。對于相同級別的數據類型,應該優先選擇占用空間小的數據類型

5.??如何為Innodb選擇主鍵?

? ? ? ? (1) 主鍵應該盡可能的小

????????(2) 主鍵應該是順序增長的

????????(3) Innodb的主鍵和業務主鍵可以不同;



相關鏈接?

《數據庫優化之實例和故事》

作者:不動峰

博客園:http://www.cnblogs.com/mylly/

備注:現承接企業大型網站/接口/微信公眾號/企業號/小程序,有意向的朋友請聯系(QQ:857280707)? 版權所有,歡迎保留原文鏈接進行轉載:)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容