小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

說說那些程序員應(yīng)該遵守的數(shù)據(jù)庫規(guī)范

 weiwarm 2019-02-28

本文主要說下關(guān)于數(shù)據(jù)庫方面的規(guī)范,希望能夠幫助到大家。

1、首先是工具,我們用的是 Mysql數(shù)據(jù)庫,工具是Workbench,這個(gè)工具是專門為Mysql設(shè)計(jì)的數(shù)據(jù)庫建模工具,你可以用它進(jìn)行設(shè)計(jì)和創(chuàng)建新的數(shù)據(jù)庫圖示,在windows上面我們大多用的是PowerDesiger,在mac上用workbench目前來看還是挺好用的,無論是建立數(shù)據(jù)庫文檔,ER圖,數(shù)據(jù)庫的遷移都還是很貼心的。

2、數(shù)據(jù)庫字符集UTF-8,統(tǒng)一字符集,也就避免了麻煩的亂碼轉(zhuǎn)碼問題,UTF-8幾乎是好多工具的通用碼,特殊的列使用擴(kuò)展字符集。

3、每個(gè)文件都有一個(gè)script文件,這個(gè)script文件里面有的應(yīng)該是這個(gè)項(xiàng)目的數(shù)據(jù)庫設(shè)計(jì)ER圖,還有該項(xiàng)目數(shù)據(jù)庫初始的sql語句,任何有關(guān)于該項(xiàng)目的數(shù)據(jù)庫更改,都應(yīng)該首先更改該script文件,并且標(biāo)注日期,確保該script文件是正確的據(jù)庫設(shè)計(jì),因?yàn)槲覀冊(cè)谏暇€的時(shí)候要給運(yùn)維上傳的sql語句就是從這個(gè)ER圖導(dǎo)出來的。

4、相關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)表的名字要使用相同的前綴,確保一個(gè)業(yè)務(wù)的多個(gè)表在大量表中處于相鄰位置。這點(diǎn)覺得還是很貼心的。

5、數(shù)據(jù)經(jīng)常變化的放到一張表;數(shù)據(jù)不變化的放到一張表;數(shù)據(jù)不經(jīng)常變化的一張表。

6、存儲(chǔ)引擎必須使用InnoDB,InnoDB支持事務(wù)、行級(jí)鎖、并發(fā)性能更好。

7、不可使用存儲(chǔ)過程、視圖、觸發(fā)器,高并發(fā)大數(shù)據(jù)的互聯(lián)網(wǎng)業(yè)務(wù),如果并發(fā)量太大,使用這些會(huì)把數(shù)據(jù)庫拖垮,把業(yè)務(wù)邏輯放到服務(wù)層具備更好的擴(kuò)展性,需求有所變化的時(shí)候也更好修改,而不用去修改繁瑣的sql語句,并且能夠輕易簡(jiǎn)單的 實(shí)現(xiàn)增加機(jī)器就增加性能,數(shù)據(jù)庫的專長在于存儲(chǔ)和索引。專業(yè)的事情就讓專業(yè)的人來做。

8、禁止使用Blob和Clob類型的字段,可以使用單獨(dú)的庫、單獨(dú)的表來存儲(chǔ)大文本的數(shù)據(jù),這樣做的話,當(dāng)運(yùn)維想要處理、備份數(shù)據(jù)的時(shí)候,這樣的表可以針對(duì)性的優(yōu)化,不用在意一些別的因素。

9、表名使用下劃線分隔,id主鍵統(tǒng)一命名為id BIGINT(20),數(shù)據(jù)寫入時(shí)可以提高插入性能。

10、每個(gè)表中必須包含字段createTime字段,創(chuàng)建時(shí)間,確保未來默認(rèn)排序。

11、外鍵禁止關(guān)聯(lián)。外鍵會(huì)導(dǎo)致表和表之間的耦合,update和delete都會(huì)涉及到相關(guān)聯(lián)的表,十分影響sql性能,還有可能會(huì)造成死鎖。

12、保存時(shí)間相關(guān)的數(shù)據(jù),要使用時(shí)間戳的格式,因?yàn)樵谖磥砜赡軙?huì)涉及到時(shí)區(qū)的問題,而時(shí)間戳可以完全避免該問題;保存貨幣相關(guān)的數(shù)據(jù),要保存最小貨幣的數(shù)量,避免有小數(shù)點(diǎn),因?yàn)榭赡軙?huì)引起數(shù)據(jù)精度問題,導(dǎo)致數(shù)據(jù)不準(zhǔn)確。

13、索引命名定義規(guī)則,其中一定要包括表名+列名,來確保該索引在整個(gè)數(shù)據(jù)庫中是唯一的。

14、建立組合索引的同時(shí)要把區(qū)分度較高的放在前面,這樣能夠更加有效的過濾數(shù)據(jù)。

以上都是自己開發(fā)過程中遵守的,并且感覺很高效的數(shù)據(jù)庫規(guī)范,簡(jiǎn)單整理下,沉淀下來,希望能幫助到讀者們。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多