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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql数据库开发规范_开发规范——MYSQL数据库

發布時間:2025/5/22 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库开发规范_开发规范——MYSQL数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫規范

這里主要針對mysql數據庫,其他數據庫也可以借鑒

1、統一使用表命名規范

表名規范:分層+項目名縮寫+實體名(小寫)【+下劃線+實體名+rel】

例子

表名:bc_user

分層:

基礎服務:b

綜合服務:s

webapp服務:a

表的種類:

映射實體的表:前綴_實體名(多個單詞用下劃線隔開)

關系表:前綴_實體名1_實體名2_后綴(多個單詞用下劃線隔開)

2、統一使用Innodb引擎

3、【推薦】表名不要關聯其他表名的信息

表名含義項目范圍獨立

索引

1、業務上具有唯一特性的字段,即使是組合字段,必須使用唯一索引。

如果沒有添加唯一索引,即使在應用層做了非常完善的校驗和驗證,也無法避免臟數據的產生。

2、唯一索引命名:uk_字段名普通索引命名:idx_字段名

3、禁止對text定義索引

如果有對這類字段搜索的需求,可以通過全文索引方法來實現功能。

4、【推薦】varchar定義索引長度。長度統一10的倍數,不超過50;

一般有搜索的話,用戶也不會輸入太多字

字段

1、主鍵禁止使用自增。

不同庫同步數據的時候,會出問題。

2、字段全部禁止為空。

為空的話,很容易在使用的時候出現npe異常

3、禁止使用外鍵,只能在概念和應用層次使用外鍵

影響插入性能

4、禁止使用枚舉、集合類型

5、禁止在數據庫使用blog存文件。

數據庫只存相對的url路徑

6、類型使用規范

布爾:bit

時間(精確到天):date

時間(精確到秒):datetime

浮點:deciaml

字符串(長度小于10或者長度大于10但是長度相同):char

字符串(長度為10~5000,長度不等):varchar

字符串(富文本):text

7、必有字段

主鍵

創建時間

修改時間

假刪狀態

8、【推薦】可以審核添加冗余數據,這樣可以快速查詢數據。

冗余類型:

+ 技術器、計分器等統計數據

+ 一旦成功不會修改的數據

9、【推薦】字段順序:自描述-》關聯其他表的描述-》功能性-》必有字段

注釋

1、表名或者字段注釋的格式:直譯【(補充說明)】

2、禁止帶“表”、“數據”等多余的字眼

3、如果類型字段,有變更,同步注釋

sql

1、禁止使用select *

數據庫查看執行時間性能沒有影響。但是返回的數據量會變大,對網絡開銷有影響,最終還是影響性能,而且會影響數據庫的二進制日志

2、使用select count(*)

select count(name)不記錄null的行數,而且官方澄清count(*)不影響性能

3、使用sum函數時,必須使用IFNULL(sum(),0)

如果sum函數沒有查詢結果返回null,容易出npe

4、禁止出現or。可以使用in或者unit all來替換

5、order by的場景,創建索引時order by后面的字段也必須是組合索引的一部分,并且放在索引順序的最后,避免file_sort

6、創建組合索引時,區分度最高的放在最左邊

where a=? and b=? 如果a幾乎接近唯一,那么只要建idx_a即可。

7、【推薦】禁止更新表的所有字段,必須制定更新的字段

總結

以上是生活随笔為你收集整理的mysql数据库开发规范_开发规范——MYSQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

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