校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范

專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范

熱門標簽:申請外呼電話線路 石家莊電商外呼系統(tǒng) 芒果電話機器人自動化 信陽穩(wěn)定外呼系統(tǒng)運營商 廣東人工電話機器人 南通自動外呼系統(tǒng)軟件 日照旅游地圖標注 湖南人工外呼系統(tǒng)多少錢 百度地圖圖標標注中心

在團隊開發(fā)過程中為了項目的穩(wěn)定,代碼的高效,管理的便捷制定內(nèi)部種開發(fā)設(shè)計規(guī)范是必不可少的,

這里分享一份我們定義MySQL開發(fā)設(shè)計規(guī)范包括表設(shè)計規(guī)范,字段設(shè)計規(guī)范,SQL編寫規(guī)范

數(shù)據(jù)庫對象命名規(guī)范

數(shù)據(jù)庫對象

命名規(guī)范的對象是指數(shù)據(jù)庫SCHEMA、表TABLE、索引INDEX、約束CONSTRAINTS等的命名約定

數(shù)據(jù)庫對象命名原則

命名使用具有意義的英文詞匯,詞匯中間以下劃線分隔

命名只能使用英文字母、數(shù)字、下劃線

避免用MySQL的保留字如:call、group等

所有數(shù)據(jù)庫對象使用小寫字母

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

數(shù)據(jù)庫名不能超過30個字符

數(shù)據(jù)庫命名必須為項目英文名稱或有意義的簡寫

數(shù)據(jù)庫創(chuàng)建時必須添加默認字符集和校對規(guī)則子句。默認字符集為UTF8(已遷移dumbo的使用utf8mb4)

命名應(yīng)使用小寫

表命名規(guī)范

同一個模塊的表盡可能使用相同的前綴,表名稱盡可能表達含義

多個單詞以下劃線(_)分隔

表名不能超過30個字符

普通表名以t_開頭,表示為table,命名規(guī)則為t_模塊名(或有意義的簡寫)_+table_name

臨時表(運營、開發(fā)或數(shù)據(jù)庫人員臨時用作臨時進行數(shù)據(jù)采集用的中間表)命名規(guī)則:加上tmp前綴和8位時間后綴(tmp_test_user_20181109)

備份表(DBA備份用作保存歷史數(shù)據(jù)的中間表)命名規(guī)則:加上bak前綴和8位時間后綴(bak_test_user_20181109)

命名應(yīng)使用小寫

字段命名規(guī)范

字段命名需要表示其實際含義的英文單詞或簡寫,單詞之間用下劃線(_)進行連接

各表之間相同意義的字段必須同名

字段名不能超過30個字符

用戶命名規(guī)范

生產(chǎn)使用的用戶命名格式為 code_應(yīng)用

只讀用戶命名規(guī)則為 read_應(yīng)用

數(shù)據(jù)庫對象設(shè)計規(guī)范

存儲引擎的選擇

如無特殊需求,必須使用innodb存儲引擎

字符集的選擇

如無特殊要求,必須使用utf8或utf8mb4

表設(shè)計規(guī)范

不同應(yīng)用間所對應(yīng)的數(shù)據(jù)庫表之間的關(guān)聯(lián)應(yīng)盡可能減少,不允許使用外鍵對表之間進行關(guān)聯(lián),確保組件對應(yīng)的表之間的獨立性,為系統(tǒng)或表結(jié)構(gòu)的重構(gòu)提供可能性

表設(shè)計的角度不應(yīng)該針對整個系統(tǒng)進行數(shù)據(jù)庫設(shè)計,而應(yīng)該根據(jù)系統(tǒng)架構(gòu)中組件劃分,針對每個組件所處理的業(yè)務(wù)進行數(shù)據(jù)庫設(shè)計

表必須要有PK

一個字段只表示一個含義

表不應(yīng)該有重復(fù)列

禁止使用復(fù)雜數(shù)據(jù)類型(數(shù)組,自定義等)

需要join的字段(連接鍵),數(shù)據(jù)類型必須保持絕對一致,避免隱式轉(zhuǎn)換

設(shè)計應(yīng)至少滿足第三范式,盡量減少數(shù)據(jù)冗余。一些特殊場景允許反范式化設(shè)計,但在項目評審時需要對冗余字段的設(shè)計給出解釋

TEXT字段必須放在獨立的表中,用PK與主表關(guān)聯(lián)。如無特殊需要,禁止使用TEXT、BLOB字段

需要定期刪除(或者轉(zhuǎn)移)過期數(shù)據(jù)的表,通過分表解決

單表字段數(shù)不要太多,建議最多不要大于50個

MySQL在處理大表時,性能就開始明顯降低,所以建議單表物理大小限制在16GB,表中數(shù)據(jù)控制在2000W內(nèi)

如果數(shù)據(jù)量或數(shù)據(jù)增長在前期規(guī)劃時就較大,那么在設(shè)計評審時就應(yīng)加入分表策略

無特殊需求,嚴禁使用分區(qū)表

字段設(shè)計規(guī)范

INT:如無特殊需要,存放整型數(shù)字使用UNSIGNED INT型。整型字段后的數(shù)字代表顯示長度

DATETIME:所有需要精確到時間(時分秒)的字段均使用DATETIME,不要使用TIMESTAMP類型

VARCHAR:所有動態(tài)長度字符串 全部使用VARCHAR類型,類似于狀態(tài)等有限類別的字段,也使用可以比較明顯表示出實際意義的字符串,而不應(yīng)該使用INT之類的數(shù)字來代替;VARCHAR(N),N表示的是字符數(shù)而不是字節(jié)數(shù)。比如VARCHAR(255),可以最大可存儲255個字符(字符包括英文字母,漢字,特殊字符等)。但N應(yīng)盡可能小,因為MySQL一個表中所有的VARCHAR字段最大長度是65535個字節(jié),且存儲字符個數(shù)由所選字符集決定。如UTF8存儲一個字符最大要3個字節(jié),那么varchar在存放占用3個字節(jié)長度的字符時不應(yīng)超過21845個字符。同時,在進行排序和創(chuàng)建臨時表一類的內(nèi)存操作時,會使用N的長度申請內(nèi)存。(如無特殊需要,原則上單個varchar型字段不允許超過255個字符)

TEXT:僅僅當(dāng)字符數(shù)量可能超過20000個的時候,才可以使用TEXT類型來存放字符類數(shù)據(jù),因為所有MySQL數(shù)據(jù)庫都會使用UTF8字符集。所有使用TEXT類型的字段必須和原表進行分拆,與原表主鍵單獨組成另外一個表進行存放。如無特殊需要,嚴禁開發(fā)人員使用MEDIUMTEXT、TEXT、LONGTEXT類型

對于精確浮點型數(shù)據(jù)存儲,需要使用DECIMAL,嚴禁使用FLOAT和DOUBLE

如無特殊需要,嚴禁開發(fā)人員使用BLOB類型

如無特殊需要,字段建議使用NOT NULL屬性,可用默認值代替NULL

自增字段類型必須是整型且必須為UNSIGNED,推薦類型為INT或BIGINT,并且自增字段必須是主鍵或者主鍵的一部分

索引設(shè)計規(guī)范

索引必須創(chuàng)建在索引選擇性選擇性較高的列上,選擇性的計算方式為: select count(distinct(col_name))/count(*) from tb_name;如果結(jié)果小于0.2,則不建議在此列上創(chuàng)建索引,否則大概率會拖慢SQL執(zhí)行

組合索引的首字段,必須在where條件中,對于確定需要組成組合索引的多個字段,建議將選擇性高的字段靠前放

禁止使用外鍵

Text類型字段如果需要創(chuàng)建索引,必須使用前綴索引

單張表的索引數(shù)量理論上應(yīng)控制在5個以內(nèi)。經(jīng)常有大批量插入、更新操作表,應(yīng)盡量少建索引

ORDER BY,GROUP BY,DISTINCT的字段需要添加在索引的后面,形成覆蓋索引

盡量使用Btree索引,不要使用其它類型索引

約束設(shè)計規(guī)范

PK應(yīng)該是有序并且無意義的,盡量由開發(fā)人員自定義,且盡可能短,使用自增序列。

表中除PK以外,還存在唯一性約束的,可以在數(shù)據(jù)庫中創(chuàng)建以“uidx_”作為前綴的唯一約束索引。

PK字段不允許更新。

禁止創(chuàng)建外鍵約束,外鍵約束由應(yīng)用控制。

如無特殊需要,所有字段必須添加非空約束,即not null

如無特殊需要,所有字段必須有默認值。

SQL編寫規(guī)范

盡量避免使用select *,join語句使用select *可能導(dǎo)致只需要訪問索引即可完成的查詢需要回表取數(shù)

嚴禁使用select * from table而不加任何where條件

MySQL中的text類型字段存儲的時候不是和由其他普通字段類型的字段組成的記錄存放在一起,而且讀取效率本身也不如普通字段塊。如果不需要取回text字段,又使用了select *,會讓完成相同功能的sql所消耗的io量大很多,而且增加部分的io效率也更低下

在取出字段上可以使用相關(guān)函數(shù),但應(yīng)盡可能避免出現(xiàn)now(),rand(),sysdate(),current_user()等不確定結(jié)果的函數(shù),在Where條件中的過濾條件字段上嚴禁使用任何函數(shù),包括數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

所有連接的SQL必須使用Join ... On ...方式進行連接,而不允許直接通過普通的Where條件關(guān)聯(lián)方式。外連接的SQL語句,可以使用Left Join On的Join方式,且所有外連接一律寫成Left Join,而不要使用Right Join

分頁查詢語句全部都需要帶有排序條件,除非應(yīng)用方明確要求不要使用任何排序來隨機展示數(shù)據(jù)

WHERE條件中嚴禁在索引列上進行數(shù)學(xué)運算或函數(shù)運算

in()/union替換or,并注意in的個數(shù)小于300

嚴禁使用%前綴進行模糊前綴查詢:如:select id,val from table where val like ‘%name';可以使用%模糊后綴查詢?nèi)纾?code>select id,val from table where val like ‘name%'

嚴禁使用INSERT ON DUPLICATE KEY UPDATEREPLACE INTOINSERT IGNORE

本文做個拋磚引玉,每個團隊都有自己的開發(fā)設(shè)計規(guī)范,Mysql開發(fā)設(shè)計規(guī)范不單單只有這些,希望本文對您有所啟發(fā)

您可能感興趣的文章:
  • MYSQL 數(shù)據(jù)庫命名與設(shè)計規(guī)范
  • MySQL 那些常見的錯誤設(shè)計規(guī)范,你都知道嗎

標簽:惠州 天津 沈陽 阿里 合肥 呼和浩特 公主嶺 牡丹江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范》,本文關(guān)鍵詞  專業(yè),級,的,MySQL,開發(fā)設(shè)計,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范》相關(guān)的同類信息!
  • 本頁收集關(guān)于專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲伦理在线精品| 精品一区二区成人精品| 美洲天堂一区二卡三卡四卡视频 | 91精品久久久久久久99蜜桃| 国产精品天美传媒| 理论电影国产精品| 欧美日韩一区二区三区在线看| 亚洲精品在线观| 日韩成人免费电影| 在线免费亚洲电影| 亚洲欧美一区二区久久| 高清不卡在线观看| 久久人人爽爽爽人久久久| 婷婷六月综合网| 欧美性色黄大片| 亚洲精品中文在线影院| 国产成人精品一区二区三区四区 | 一本一道波多野结衣一区二区| 久久这里都是精品| 精品一区二区三区视频在线观看 | 色88888久久久久久影院按摩 | 色综合久久66| 国产精品久久久久aaaa樱花| 国产精品1区2区3区在线观看| 日韩精品专区在线影院观看 | 大白屁股一区二区视频| 亚洲精品在线三区| 韩日av一区二区| 精品国产麻豆免费人成网站| 精品亚洲成a人在线观看| 欧美大尺度电影在线| 视频在线观看一区| 欧美一级黄色片| 美女一区二区三区| 久久这里只有精品视频网| 国产精品1024| 中文字幕av不卡| 99久久久免费精品国产一区二区| 中文字幕日韩一区二区| 91在线观看免费视频| 一区二区在线电影| 欧美精品aⅴ在线视频| 久久激情五月激情| 久久久亚洲精品一区二区三区 | 亚洲人成伊人成综合网小说| 91免费在线视频观看| 一区二区三区在线影院| 欧美日韩视频专区在线播放| 青草av.久久免费一区| 欧美tk—视频vk| 成人黄色777网| 一区二区三区在线视频观看| 777奇米成人网| 国产九色精品成人porny| 国产精品免费观看视频| 欧美色精品天天在线观看视频| 日韩国产欧美在线观看| 2023国产精品| 色婷婷狠狠综合| 日本不卡的三区四区五区| 久久综合狠狠综合久久激情| 97久久超碰国产精品电影| 午夜精品福利一区二区三区蜜桃| 久久综合中文字幕| 99久久精品国产一区二区三区| 首页国产欧美久久| 国产精品天美传媒| 在线播放日韩导航| 国产夫妻精品视频| 五月婷婷另类国产| 欧美激情在线免费观看| 欧美日韩国产中文| 成人av网站在线观看| 日本大胆欧美人术艺术动态| 国产精品区一区二区三| 欧美一区日本一区韩国一区| 国产福利91精品| 日本亚洲一区二区| 中文字幕日韩av资源站| 91精品免费观看| 色一情一乱一乱一91av| 国产一区二区主播在线| 午夜久久久影院| 国产精品成人免费| xfplay精品久久| 欧美日韩国产大片| 91黄色免费版| 91在线视频在线| 国产成人av一区二区三区在线| 青青草成人在线观看| 一区二区三区中文字幕| 国产精品久久久久久久久免费樱桃 | 久久精品免费在线观看| 欧美一区二区三区视频在线| 91亚洲精品久久久蜜桃| 粉嫩一区二区三区在线看| 美女脱光内衣内裤视频久久网站 | 91精品中文字幕一区二区三区| 91麻豆国产精品久久| 国产精品一区二区你懂的| 理论片日本一区| 麻豆国产精品777777在线| 亚洲成a人在线观看| 夜夜嗨av一区二区三区四季av| 国产日产欧美一区二区视频| 久久久久成人黄色影片| 亚洲精品一区二区三区在线观看| 日韩欧美一级精品久久| 91精品蜜臀在线一区尤物| 欧美日本免费一区二区三区| 欧美日本在线一区| 777奇米四色成人影色区| 8x8x8国产精品| 日韩免费性生活视频播放| 欧美一区三区二区| 日韩精品一区二区三区三区免费| 在线成人av网站| 日韩一区二区在线观看视频| 日韩精品专区在线影院重磅| 日韩欧美一区在线| 久久久噜噜噜久噜久久综合| 国产女人水真多18毛片18精品视频| 久久久久国产精品免费免费搜索| 国产日韩精品视频一区| 亚洲欧洲一区二区三区| 亚洲色图在线视频| 亚洲va国产va欧美va观看| 午夜一区二区三区在线观看| 亚洲高清免费观看高清完整版在线观看| 亚洲一级片在线观看| 亚洲成a天堂v人片| 久久精品国产99国产| 国产精品99久久久久久有的能看| 99久久99久久精品免费看蜜桃| 色哟哟国产精品免费观看| 欧美日韩三级视频| 精品国精品国产| 一色屋精品亚洲香蕉网站| 亚洲国产日韩在线一区模特| 激情五月激情综合网| 国产成人免费在线| 色八戒一区二区三区| 精品伦理精品一区| 成人免费在线播放视频| 午夜精品在线看| 国产成人亚洲综合a∨婷婷| 91免费在线看| 欧美一级日韩免费不卡| 中文在线资源观看网站视频免费不卡| 亚洲婷婷在线视频| 久久国产综合精品| 91在线视频在线| 精品成a人在线观看| 一区二区三区日韩欧美精品 | 久久免费精品国产久精品久久久久| 亚洲欧美一区二区三区极速播放 | 日本大胆欧美人术艺术动态| 豆国产96在线|亚洲| 欧美高清dvd| 亚洲图片欧美激情| 国产一区91精品张津瑜| 欧美日韩精品一区二区三区蜜桃| 久久久久久免费毛片精品| 亚洲高清免费观看高清完整版在线观看| 国产精品一区免费在线观看| 欧美日韩国产成人在线91| 中文字幕一区av| 国产乱理伦片在线观看夜一区| 欧美日韩综合在线免费观看| 亚洲欧美在线另类| 国产一区二区三区美女| 91精品国产欧美一区二区成人| 日本一区二区三区在线观看| 国产欧美日韩视频一区二区 | 97精品久久久午夜一区二区三区 | 国产乱码精品一区二区三| 色狠狠综合天天综合综合| 久久网站最新地址| 青青草原综合久久大伊人精品优势 | 精品一二线国产| 6080国产精品一区二区| 亚洲综合激情另类小说区| aaa亚洲精品| 精品99一区二区三区| 日韩高清一区二区| 欧美伦理影视网| 亚洲成人福利片| 亚洲成在人线在线播放| 玖玖九九国产精品| 91麻豆精品国产91久久久资源速度| 亚洲免费成人av| 色综合亚洲欧洲| 亚洲欧美偷拍三级| 91视频免费播放| 成人欧美一区二区三区在线播放| 北岛玲一区二区三区四区| 中文字幕精品一区二区三区精品| 成人av网站大全| 国产日韩在线不卡| 成人看片黄a免费看在线|