先來複習一下資料庫設計三正規化:
第一正規化:當關係模式r的所有屬性都不能在分解為更基本的資料單位時,稱r是滿足第一正規化的,簡記為1nf。滿足第一正規化是關係模式規範化的最低要
求,否則,將有很多基本操作在這樣的關係模式中實現不了。
第二正規化:如果關係模式r滿足第一正規化,並且r得所有非主屬性都完全依賴於r的每乙個候選關鍵屬性,稱r滿足第二正規化,簡記為2nf。
第三正規化:設r是乙個滿足第一正規化條件的關係模式,x是r的任意屬性集,如果x非傳遞依賴於r的任意乙個候選關鍵字,稱r滿足第三正規化,簡記為3nf。
正規化的優點和缺點:
1.正規化化的更新操作通常比反正規化要快。
2.當資料較好地正規化化時,就只有很少或者沒有重複資料,所以只需要修改更少的資料。
3.正規化化的表通常更小,可以更好地放在記憶體裡,所以執行操作更快。
4.很少有冗餘的資料意味著建所列表資料時更少需要distinct或者group by語句。
缺點:需要關聯表,當乙個查詢有過多的關聯時,不僅代價昂貴,也可能使得一些索引策略無效。
純粹的正規化和反正規化在現實專案中是不存在的,只在實驗室中存在,在實際專案中要根據實際需求,正規化和反正規化搭配使用,得出最優解。
mysql效能優化總結 三
mysql體系結構 外掛程式式儲存引擎,將資料的查詢和儲存相分離.每一款儲存引擎都有各自的優缺點.可以靈活選用 架構 客戶端 mysql服務層 儲存引擎層 儲存引擎是針對表,不是針對庫,同一庫中的不同的表,可以使用不同的儲存引擎.但是不建議這樣做 儲存引擎的不同會對效能產生直接的影響.mysql常用...
mysql優化總結
如果大家有異議,可以在後面補充。我會隨時更新的。現在大概列出如下 望各位補充 1.資料庫的設計 盡量把資料庫設計的更小的佔磁碟空間.1 盡可能使用更小的整數型別.mediumint就比int更合適 2 盡可能的定義欄位為not null,除非這個字段需要null.這個規則只適合欄位為key的情形 3...
mysql優化總結
1 資料庫設計 滿足三大正規化 第一正規化 列的原子性 第二正規化 確保表中的每列都和主鍵相關,乙個表只能儲存一類資料,不能放多類的資料,第三正規化 確保同一行資料不存在傳遞關係 2 資料庫建表 1 儲存引擎選擇 需要支援事務 外來鍵 更新和查詢都很頻繁的使用innodb,如果要使用全文索引 資料更...