《02_CentOS安裝mysql數據庫文檔》 《03_Mysql主從配置文檔》 《04_mysql主從知識點》
參考工程文件
分庫:mysql
1:涉及到多數據源能夠進行分庫 2:項目部署是分佈式系統,能夠進行分庫 3:涉及到大量的數據存儲,須要分庫
跨庫查詢:算法
1:必需要配置多數據源 2:在jdbc屬性文件中增長多個數據庫配置信息,key值保持惟一 3:在建立數據源的bean,須要搭建多個bean組件,id保持惟一 4:在dao層須要查詢數據的時候,調用bean對應的templatement就能夠了
分表:sql
應用場景: 1:設計到大量的數據存儲,而且數據須要查詢的時候
如何分表:數據庫
1:首先保證分表以後,表結構、索引、引擎、編碼字符、視圖等一致性 2:表名不能同樣 第一種方式: 按照表容量大小進行分表(能夠實現,不建議使用) 假設表容量最大200M(配置表的觸發器) tablename1-----199.9M----200.1M---數據丟失 tablename2-----0.1M-----數據不全、髒數據 tablename3..... 第二種方式: 按照時間進行分表(推薦使用) 建議每月的20-25號左右,提早複製一張表 寫(監聽) tablename_20171020 tablename_20171120 tablename_20171220 tablename_20180120 要寫動態sql了 第三種,使用算法,判斷表名稱 用戶ID必須使用的是UUID生成的字符 UUID對3取模/10,取餘數1-6 那麼此時可使用這種方式,不過這種方式最多能夠建立6張表 tablename1 tablename2 tablename...6
參考資料:服務器
1:數據庫設計 數據庫表:字段類型、字段長度、註釋、字段命名規範 數據庫索引:外鍵、關聯字段、查詢頻率比較高的字段、 若是數據表字段>20,則最多支持16個索引 若是數據表字段<20,則根據查詢頻率字段來定 數據庫視圖:至關於一張臨時表,業務中,儘可能少使用 數據庫引擎:根據業務,選擇對應的表引擎技術 數據庫存儲過程:儘可能少用 數據庫字符:UTF-八、或者和頁面字符保持一致 數據庫監聽器/觸發器:通常用於調度任務或者備份還原 2:業務調用的sql語句優化 xml: 儘可能少關聯表,效率最高關聯4張表,若是多於4張表,則須要開啓兩個連接事務,可是這兩個事務,必須在一個service當中。 若是是查詢語句,則不建議使用* 若是是查詢語句,where條件後面,最好使用索引字段進行關聯 3:數據庫服務器的搭建(集羣) 主從配置: 讀寫分離: 自動化(容器):