日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySql 数据库基本设计规范

發布時間:2023/12/4 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySql 数据库基本设计规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、所有表必須使用Innodb存儲引擎

沒有特殊要求(即Innodb無法滿足的功能如:列存儲,存儲空間數據等)的情況下,所有表必須使用Innodb存儲引擎(mysql5.5之前默認使用Myisam,5.6以后默認的為Innodb)Innodb 支持事務,支持行級鎖,更好的恢復性,高并發下性能更好

2、數據庫和表的字符集統一使用utf8mb4-general-ci

兼容性更好,統一字符集可以避免由于字符集轉換產生的亂碼,不同的字符集進行比較前需要進行轉換會造成索引失效;utf8mb4支持emojj表情符

3、所有表和字段都需要添加注釋

使用comment從句添加表和列的備注 從一開始就進行數據字典的維護

4、盡量控制單表數據量的大小,建議控制在500萬以內

500萬并不是MySQL數據庫的限制,過大會造成修改表結構,備份,恢復都會有很大的問題

可以用歷史數據歸檔(應用于日志數據),分庫分表(應用于業務數據)等手段來控制數據量大小

5、謹慎使用MySQL分區表

分區表在物理上表現為多個文件,在邏輯上表現為一個表 謹慎選擇分區鍵,跨分區查詢效率可能更低 建議采用物理分表的方式管理大數據

6、盡量做到冷熱數據分離,減小表的寬度

MySQL限制每個表最多存儲4096列,并且每一行數據的大小不能超過65535字節 減少磁盤IO,保證熱數據的內存緩存命中率(表越寬,把表裝載進內存緩沖池時所占用的內存也就越大,也會消耗更多的IO) 更有效的利用緩存,避免讀入無用的冷數據 經常一起使用的列放到一個表中(避免更多的關聯操作)

7、禁止在表中建立預留字段

預留字段的命名很難做到見名識義 預留字段無法確認存儲的數據類型,所以無法選擇合適的類型 對預留字段類型的修改,會對表進行鎖定

8、禁止在數據庫中存儲圖片,文件等大的二進制數據

通常文件很大,會短時間內造成數據量快速增長,數據庫進行數據庫讀取時,通常會進行大量的隨機IO操作,文件很大時,IO操作很耗時 通常存儲于文件服務器,數據庫只存儲文件地址信息

9、禁止在線上做數據庫壓力測試

10、禁止從開發環境,測試環境直接連接生成環境數據庫

總結

以上是生活随笔為你收集整理的MySql 数据库基本设计规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。