mysql結構優化

影響數據庫性能的因素:mysql

數據庫結構(最大的), 服務器硬件, 操做系統 ,mysql服務器配置sql

良好的數據庫邏輯設計和物理設計,是得到高性能的基礎。數據庫

設計數據庫結構,不單單是考慮到 業務需求,還有考慮到之後須要用到的哪些查詢語句進行查詢,進而進行設計數據庫結構。安全

優化數據庫結構,可使查詢的語句儘可能的簡單。這樣須要考慮不少因素的服務器

好比進行反範式設計的時候,能夠加快一些查詢語句的設計,同時也會影響一些查詢語句的性能。因此須要平衡各方的利益,已達到最優。數據結構

 

數據庫結構優化的目的:性能

1,減小數據冗餘 優化

2, 儘可能避免數據維護中出現更新,插入,刪除異常操作系統

插入異常:若是表中的某個實體,隨着另外一個實體而存在設計

更新異常:若是更改表中的某個實體的單獨屬性時,須要對多行進行更新

刪除異常: 若是刪除表中的某一個實體則會致使其餘實體的消失

3,解決數據存儲空間,提供查詢的效率

 

數據結構設計的步驟:

需求分析:

1, 全面瞭解產品設計的存儲需求

2,數據處理需求(讀取和插入等)

3,數據的安全性和完整性(包括數據的生命週期等)

 

邏輯設計: 設計數據的邏輯存儲結構,

數據實體之間的邏輯關係,解決數據冗餘和數據維護異常

 

物理設計:根據所使用的數據庫特色,進行表結構設計

維護優化: 根據實際狀況,對索引,存儲結構進行等進行優化和調整

 

設計範式:

表的設計 都是符合 第一範式的,

而第二範式 通常是 針對的是 複合主鍵來講得,若是隻有一列是 主鍵,那麼通常是符合第二範式的。

要求一個表中,只具備一個業務主鍵,符合第二範式的表中,不存在非主鍵列對只對只對部分主鍵有依賴關係。好比 有 兩列的 複合主鍵, 表的某一個列 只依賴複合主鍵的某一個列,那麼這樣是不符合第二範式的。

第三範式是:在知足了第二範式的基礎上,表中的全部列都是依賴於主鍵的。

好比 某一個列, 依賴於 某一個不是主鍵的列,那麼這個表是不符合第三範式的,由於有主鍵傳遞依賴的關係,

相關文章
相關標籤/搜索