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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

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

數(shù)據(jù)庫規(guī)范

這里主要針對(duì)mysql數(shù)據(jù)庫,其他數(shù)據(jù)庫也可以借鑒

1、統(tǒng)一使用表命名規(guī)范

表名規(guī)范:分層+項(xiàng)目名縮寫+實(shí)體名(小寫)【+下劃線+實(shí)體名+rel】

例子

表名:bc_user

分層:

基礎(chǔ)服務(wù):b

綜合服務(wù):s

webapp服務(wù):a

表的種類:

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

關(guān)系表:前綴_實(shí)體名1_實(shí)體名2_后綴(多個(gè)單詞用下劃線隔開)

2、統(tǒng)一使用Innodb引擎

3、【推薦】表名不要關(guān)聯(lián)其他表名的信息

表名含義項(xiàng)目范圍獨(dú)立

索引

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

如果沒有添加唯一索引,即使在應(yīng)用層做了非常完善的校驗(yàn)和驗(yàn)證,也無法避免臟數(shù)據(jù)的產(chǎn)生。

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

3、禁止對(duì)text定義索引

如果有對(duì)這類字段搜索的需求,可以通過全文索引方法來實(shí)現(xiàn)功能。

4、【推薦】varchar定義索引長(zhǎng)度。長(zhǎng)度統(tǒng)一10的倍數(shù),不超過50;

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

字段

1、主鍵禁止使用自增。

不同庫同步數(shù)據(jù)的時(shí)候,會(huì)出問題。

2、字段全部禁止為空。

為空的話,很容易在使用的時(shí)候出現(xiàn)npe異常

3、禁止使用外鍵,只能在概念和應(yīng)用層次使用外鍵

影響插入性能

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

5、禁止在數(shù)據(jù)庫使用blog存文件。

數(shù)據(jù)庫只存相對(duì)的url路徑

6、類型使用規(guī)范

布爾:bit

時(shí)間(精確到天):date

時(shí)間(精確到秒):datetime

浮點(diǎn):deciaml

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

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

字符串(富文本):text

7、必有字段

主鍵

創(chuàng)建時(shí)間

修改時(shí)間

假刪狀態(tài)

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

冗余類型:

+ 技術(shù)器、計(jì)分器等統(tǒng)計(jì)數(shù)據(jù)

+ 一旦成功不會(huì)修改的數(shù)據(jù)

9、【推薦】字段順序:自描述-》關(guān)聯(lián)其他表的描述-》功能性-》必有字段

注釋

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

2、禁止帶“表”、“數(shù)據(jù)”等多余的字眼

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

sql

1、禁止使用select *

數(shù)據(jù)庫查看執(zhí)行時(shí)間性能沒有影響。但是返回的數(shù)據(jù)量會(huì)變大,對(duì)網(wǎng)絡(luò)開銷有影響,最終還是影響性能,而且會(huì)影響數(shù)據(jù)庫的二進(jìn)制日志

2、使用select count(*)

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

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

如果sum函數(shù)沒有查詢結(jié)果返回null,容易出npe

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

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

6、創(chuàng)建組合索引時(shí),區(qū)分度最高的放在最左邊

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

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。