資料庫正規化化:是指消除冗餘,有效組織資料,減少在資料操作期間潛在的不規則和提高資料一致性。在正規化話資料庫中,每個元素只會被儲存一次,至少滿足第三正規化。
逆正規化資料庫中,資訊是重複的或者儲存在多個地方。某些情況下從效能角度觸發,可以考慮。因為可以減少表關聯的查詢
使用場景
隨著資料庫表中資料日記月累越來越多,資料庫會越來越大,表記錄也會達到千萬甚至億級別,資料庫表的訪問效率明顯下降,導致
外層應用的訪問效率非常差,訪問時間急劇上公升,使用者體驗下降。此時就必需使用資料切分來解決瓶頸。
資料切分就是值通過特定的條件,將存放在同乙個資料庫中的資料分散存放到多個資料庫上面,以達到分散單台裝置負載的效果。資料切分根據規則的型別
可以分為垂直拆分和水平拆分。
1.必需要有pk
2.必需包含create與modified日期字段
3.禁止使用複雜資料型別(陣列)
4.需要join的字段,資料型別保持一致
5.需要定期刪除過期資料
6.單表字段不要太多
7.mysql處理大表的效能測試(int表大於500萬,char表大於1000萬)瞬間斷崖式**,所以單錶大小限制在16g。
歡迎掃碼加入知識星球繼續討論
物件導向設計 設計原則
職責單一 例如乙個類的只能負責單一的職責 開放 封閉原則 對擴充套件的開放,對修改的封閉。用新的類處理問題,不去修改現有類 liscov替換原則 子類可以替換父類 在沒有過載方法的情況下 依賴倒置原則 依賴介面,不要依賴具體實現。針對介面程式設計,不針對實現程式設計 緊耦合 類似於電腦中可插拔 更換...
物件導向設計
物件導向設計 object oriented design,ood 方法是oo方法中乙個中間過渡環節。其主要作用是對ooa分析的結果作進一步的規範化整理,以便能夠被oop直接接受。物件導向設計 ood 是一種軟體設計方法,是一種工程化規範。這是毫無疑問的。按照bjarne stroustrup的說法...
物件導向設計
1 物件導向的三要素 1.1 封裝 encapsulation a 封裝 合理的隱藏資料的隱藏 隱藏在方法背後 實現的隱藏 隱藏在介面背後 變化的隱藏 隱藏在抽象背後 b 封裝能夠提高物件的復用性 減低物件的耦合度c 良好的封裝 物件的高內聚 1.2 繼承 inheritance a 基於差異式程式...