程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql數據庫優化之表的設計和慢查詢定位(1)

mysql數據庫優化之表的設計和慢查詢定位(1)

編輯:MySQL綜合教程

mysql數據庫優化之表的設計和慢查詢定位(1)


一、數據庫優化包括的方面
數據庫優化是一種綜合性的技術,並不是通過某一種方式讓數據庫效率提高很多,而是通過多方面的提高,從而使得數據庫性能提高。
主要包括:
1、表的設計合理化(3范式)
2、給表添加合適的索引,如何使用索引
3、分表技術(水平分割、垂直分割)
4、定時清除數據垃圾,定時碎片整理
5、多用存儲過程和觸發器
6、對mysql配置進行優化
7、讀寫分離
8、mysql服務器硬件升級。


二、數據庫的設計
步驟:
1、收集信息:與該系統有關人員進行交流,充分了解數據庫需要完成的任務
\
2、標識實體:具體存在的對象,名詞。
比如:用戶、帖子、回帖、板塊

3、標識屬性

\

4、標識關系:
1)一對一:兩個表的主鍵是公共字段
2)一對多:主鍵和非主鍵建關系
3)多對一:非主鍵和主鍵建關系
4)多對多:非主鍵和非主鍵建關系
5、將E-R圖轉成表
1)將實體轉成表,將屬性轉成字段
2)如果找不到一個合適的字段做主鍵,我們添加一個自動增長列做主鍵。
3)建立正確的關系


三、數據規范化


表設計出來以後,並不是最合理的結構,我們需要對表進行規范化(我們通過3范式來對表進行規范化)
先滿足第一范式--再滿足第二范式--再滿足第三范式


1NF: 確保每列的原子性
第一范式用來規范化所有的字段,所有的字段都不可再分
注意:比如地址這個字段,如果不分類匯總、不排序,僅僅起一個字符串的作用,這時我們不拆(反3范式)


2NF: 非鍵字段必須依賴於鍵字段
如果一個關系滿足1NF,並且除了主鍵以外其他列都依賴於該主鍵,則滿足第二范式(2NF)


3NF: 消除傳遞依賴

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved