摘要:上一篇簡單的說了下,自己公司的接口規(guī)范和上線規(guī)范,這次說下關(guān)于數(shù)據(jù)庫方面的規(guī)范,希望能夠幫助到大家。以上都是自己開發(fā)過程中遵守的,并且感覺很高效的數(shù)據(jù)庫規(guī)范,簡單整理下,沉淀下來,希望能幫助到這個公眾號的讀者。
上一篇簡單的說了下,自己公司的接口規(guī)范和上線規(guī)范,這次說下關(guān)于數(shù)據(jù)庫方面的規(guī)范,希望能夠幫助到大家。
1、首先是工具,我們用的是 Mysql數(shù)據(jù)庫,工具是Workbench,這個工具是專門為Mysql設(shè)計的數(shù)據(jù)庫建模工具,你可以用它進行設(shè)計和創(chuàng)建新的數(shù)據(jù)庫圖示,在windows上面我們大多用的是PowerDesiger,在mac上用workbench目前來看還是挺好用的,無論是建立數(shù)據(jù)庫文檔,ER圖,數(shù)據(jù)庫的遷移都還是很貼心的。
2、數(shù)據(jù)庫字符集UTF-8,統(tǒng)一字符集,也就避免了麻煩的亂碼轉(zhuǎn)碼問題,UTF-8幾乎是好多工具的通用碼,特殊的列使用擴展字符集。
3、每個文件都有一個script文件,這個script文件里面有的應(yīng)該是這個項目的數(shù)據(jù)庫設(shè)計ER圖,還有該項目數(shù)據(jù)庫初始的sql語句,任何有關(guān)于該項目的數(shù)據(jù)庫更改,都應(yīng)該首先更改該script文件,并且標(biāo)注日期,確保該script文件是正確的據(jù)庫設(shè)計,因為我們在上線的時候要給運維上傳的sql語句就是從這個ER圖導(dǎo)出來的。
4、相關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)表的名字要使用相同的前綴,確保一個業(yè)務(wù)的多個表在大量表中處于相鄰位置。這點覺得還是很貼心的。
5、數(shù)據(jù)經(jīng)常變化的放到一張表;數(shù)據(jù)不變化的放到一張表;數(shù)據(jù)不經(jīng)常變化的一張表。
6、存儲引擎必須使用InnoDB,InnoDB支持事務(wù)、行級鎖、并發(fā)性能更好。
7、不可使用存儲過程、視圖、觸發(fā)器,高并發(fā)大數(shù)據(jù)的互聯(lián)網(wǎng)業(yè)務(wù),如果并發(fā)量太大,使用這些會把數(shù)據(jù)庫拖垮,把業(yè)務(wù)邏輯放到服務(wù)層具備更好的擴展性,需求有所變化的時候也更好修改,而不用去修改繁瑣的sql語句,并且能夠輕易簡單的 實現(xiàn)增加機器就增加性能,數(shù)據(jù)庫的專長在于存儲和索引。專業(yè)的事情就讓專業(yè)的人來做。
8、禁止使用Blob和Clob類型的字段,可以使用多帶帶的庫、多帶帶的表來存儲大文本的數(shù)據(jù),這樣做的話,當(dāng)運維想要處理、備份數(shù)據(jù)的時候,這樣的表可以針對性的優(yōu)化,不用在意一些別的因素。
9、表名使用下劃線分隔,id主鍵統(tǒng)一命名為id BIGINT(20),數(shù)據(jù)寫入時可以提高插入性能。
10、每個表中必須包含字段createTime字段,創(chuàng)建時間,確保未來默認(rèn)排序。
11、外鍵禁止關(guān)聯(lián)。外鍵會導(dǎo)致表和表之間的耦合,update和delete都會涉及到相關(guān)聯(lián)的表,十分影響sql性能,還有可能會造成死鎖。
12、保存時間相關(guān)的數(shù)據(jù),要使用時間戳的格式,因為在未來可能會涉及到時區(qū)的問題,而時間戳可以完全避免該問題;保存貨幣相關(guān)的數(shù)據(jù),要保存最小貨幣的數(shù)量,避免有小數(shù)點,因為可能會引起數(shù)據(jù)精度問題,導(dǎo)致數(shù)據(jù)不準(zhǔn)確。
13、索引命名定義規(guī)則,其中一定要包括表名+列名,來確保該索引在整個數(shù)據(jù)庫中是唯一的。
14、建立組合索引的同時要把區(qū)分度較高的放在前面,這樣能夠更加有效的過濾數(shù)據(jù)。
以上都是自己開發(fā)過程中遵守的,并且感覺很高效的數(shù)據(jù)庫規(guī)范,簡單整理下,沉淀下來,希望能幫助到這個公眾號的讀者。
這樣的分享會一直持續(xù),你的關(guān)注,轉(zhuǎn)發(fā)、點贊和收藏是對我最大的支持,感謝。
關(guān)注公眾號,最新文章會先在那里出現(xiàn)哦
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/73938.html
摘要:地址微信公眾號歡迎大家前來討論,如果覺得對你的學(xué)習(xí)有一定的幫助,歡迎點個同時歡迎微信掃碼關(guān)注前端劍解公眾號,并加入前端學(xué)習(xí)每日微信群相互交流點擊公眾號的菜單進群交流。 《論語》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來驅(qū)動學(xué)習(xí),每天進步一點! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅持 的力量!!! 項目地址: https://gith...
摘要:前端面試每日題,以面試題來驅(qū)動學(xué)習(xí),每天進步一點讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅持的力量項目地址推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識,目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來驅(qū)動學(xué)習(xí),每天進步一點! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅持 的力量!!! 項目...
摘要:前端面試每日題,以面試題來驅(qū)動學(xué)習(xí),每天進步一點讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅持的力量項目地址推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識,目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來驅(qū)動學(xué)習(xí),每天進步一點! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅持 的力量!!! 項目...
摘要:寫在前面年通過校招來到深圳的一家外包公司,內(nèi)中曲折不在這里啰嗦,太坑了,不干了。,有一家是老板特別囂張,全程門縫里看人。還面了兩家根本是不符合條件的,他們是要做小程序的。。。所以去面試前,做好問清楚。 寫在前面 18年通過校招來到深圳的一家外包公司,內(nèi)中曲折不在這里啰嗦,太坑了,不干了。在這里奉勸還沒畢業(yè)的學(xué)弟妹們,畢業(yè)第一家千萬別選外包! 寫簡歷這一年,我沒做過什么正經(jīng)項目,要做也...
閱讀 2311·2021-10-11 10:59
閱讀 2602·2021-10-11 10:58
閱讀 3304·2021-09-08 09:35
閱讀 3783·2021-09-02 15:21
閱讀 1455·2019-08-30 15:53
閱讀 2608·2019-08-29 14:16
閱讀 2068·2019-08-26 14:00
閱讀 2942·2019-08-26 13:52