您好,登錄后才能下訂單哦!
(如果兩個關聯的列的數據類型不一樣,在關聯的時候會進行隱式轉換,造成列上索引失效,查詢效率大幅降低)
沒特殊需求的情況下,統一使用innodb
統一字符集可以避免由于字符集轉換產生的亂碼,數據庫和表字符集統一使用utf8(如果要存表情符號還要用utf8的擴展字符集,但一定要統一)
所有表和字段都要加注釋
從一開始就進行數據字典的維護
盡量控制單表數據量的大小(歷史數據歸檔、分庫分表),建議控制在500w行內(過大的表對修改表結構、備份、恢復都有很大問題)
謹慎使用mysql分區表
????????謹慎選擇分區鍵,盡量避免跨分區查詢,跨分區查詢效率可能更低
????????選擇分區的好處:因為分區表在物理上表現為多個文件(有利磁盤io),在邏輯上表現為一個表
????????????????對訂單表來說:如果使用訂單號來做分區鍵來分區,如果要查詢某個人的所有訂單,會跨分區做查詢,甚至要對所有分區進行掃描,可能比查詢單個大表效率更低。
????????建議采用物理分表的方式管理大數據
盡量做到冷熱數據分離,減小表的寬度(減少磁盤io,保證熱數據的內存緩存命中率)
利用更有效的利用緩存,避免讀入無用的冷數據(如select *)
禁止在表中建立預留字段
????????
????????(對mysql來說,修改一個字段的成本遠大于增加一個字段)
禁止在數據庫中存儲圖片、文件等二進制數據
禁止在線上生產環境做數據庫壓力測試
????????1.面影響正常業務的訪問
????????2.會產生大量垃圾數據,對日后造成麻煩
禁止從開發環境,測試環境直連產生環境數據庫(對數據完整性造成破壞)
方法
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。