這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)MySQL有哪些開發(fā)規(guī)范,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有10多年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗,上千客戶的共同信賴。提供網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)站開發(fā)、網(wǎng)站定制、友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站、網(wǎng)頁設(shè)計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務(wù)
#MySQL開發(fā)規(guī)范
##命名規(guī)范
庫名、表名、字段名必須使用小寫字母,并采用下劃線分割
庫名、表名、字段名禁止超過32字字符。須見名之意
庫名、表名、字段名禁止使用Mysql保留字
臨時庫、表名必須以tmp為前綴,并以日期為后綴
備份庫、表名必須以bak為前綴,并以日期為后綴
create table user ... tmp_user_20160606 bak_user_20160606
##基礎(chǔ)規(guī)范
使用innodb存儲引擎
表字符集使用utf-8
所有表必須添加注釋
單表數(shù)據(jù)量控制在5000w以內(nèi)
不在數(shù)據(jù)庫中存儲圖片、文件等大數(shù)據(jù)
禁止在線上做數(shù)據(jù)庫壓力測試
##庫表設(shè)計
禁止使用分區(qū)表
拆分大字段和訪問頻率低的字段,分離冷熱數(shù)據(jù)
用hash進行散表,表名后綴使用十進制數(shù),下標從0開始
按日期時間分表需符合YYYY[MM][DD][HH]格式
采用合適的分庫分表策略。例如十庫百表等
##字段設(shè)計
所有字段均定義為not null
盡量不使用TEXT、BLOB類型
使用decimal代替float和double存儲精確浮點數(shù)
使用tinyint代替enum類型
使用unsigned存儲非負整數(shù)
使用timestamp存儲時間
使用int存儲時間戳
使用int存儲ip
禁止在數(shù)據(jù)庫存儲明文密碼
##索引規(guī)范
單張表索引數(shù)量不超過5個
單個索引中的字段數(shù)不超過5個
前綴索引長度不超過8個字符
區(qū)分度最大的字段放在前面。如:聯(lián)合索引
盡量不選擇字符串列
不使用外鍵
不使用更新頻繁的列
不使用UUID MD5 HASH
不使用%前導的查詢,如like "%ab"
不使用負向查詢,如not in/like
不在低基數(shù)列上建立索引,例如:性別
不在索引列進行數(shù)學運算和函數(shù)運算
##SQL設(shè)計
充分利用前綴索引,例如:最左前綴
不使用select *
不能同時用到兩個范圍條件
不使用存儲過程、觸發(fā)器、視圖等
不使用大表join
不使用數(shù)學運算和邏輯判斷
不使用order by rand()
不使用單條sql語句同時更新多個表
多使用insert ... on duplicate key update
多使用replace into、insert ignore、insert into values(),(),()
多使用update ... where id in(10,20,50,...)
使用in代替or, in的值不超過1000個
使用explain診斷,避免生成臨時表
使用union all而不是union
###good select * from profiles where sex='M' order by rating limit 10; select * from profiles inner join (select from profiles where x.sex='M' order by rating limit 100000,10) as x using (); ###bad select * from profiles where sex='M' order by rating limit 100000,10;
##行為規(guī)范
禁止有super權(quán)限的應(yīng)用程序賬號存在
不在業(yè)務(wù)高峰其期批量更新、查詢數(shù)據(jù)庫
提交線上建表改表需求,必須詳細注明所有相關(guān)sql語句
上述就是小編為大家分享的MySQL有哪些開發(fā)規(guī)范了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標題名稱:MySQL有哪些開發(fā)規(guī)范
網(wǎng)站URL:http://muchs.cn/article28/gdcpcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、Google、域名注冊、App開發(fā)、網(wǎng)站營銷、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)