這期內容當中小編將會(huì )給大家帶來(lái)有關(guān)有哪些開(kāi)發(fā)規范,文章內容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
#MySQL開(kāi)發(fā)規范
##命名規范
庫名、表名、字段名必須使用小寫(xiě)字母,并采用下劃線(xiàn)分割
庫名、表名、字段名禁止超過(guò)32字字符。須見(jiàn)名之意
庫名、表名、字段名禁止使用Mysql保留字
臨時(shí)庫、表名必須以tmp為前綴,并以日期為后綴
備份庫、表名必須以bak為前綴,并以日期為后綴
create table user ... tmp_user_20160606 bak_user_20160606
##基礎規范
##庫表設計
禁止使用分區表
拆分大字段和訪(fǎng)問(wèn)頻率低的字段,分離冷熱數據
用hash進(jìn)行散表,表名后綴使用十進(jìn)制數,下標從0開(kāi)始
按日期時(shí)間分表需符合YYYY[MM][DD][HH]格式
采用合適的分庫分表策略。例如十庫百表等
##字段設計
所有字段均定義為not null
盡量不使用TEXT、BLOB類(lèi)型
使用decimal代替float和double存儲精確浮點(diǎn)數
使用tinyint代替enum類(lèi)型
使用unsigned存儲非負整數
使用timestamp存儲時(shí)間
使用int存儲時(shí)間戳
使用int存儲ip
禁止在數據庫存儲明文密碼
##索引規范
單張表索引數量不超過(guò)5個(gè)
單個(gè)索引中的字段數不超過(guò)5個(gè)
前綴索引長(cháng)度不超過(guò)8個(gè)字符
區分度最大的字段放在前面。如:聯(lián)合索引
盡量不選擇字符串列
不使用外鍵
不使用更新頻繁的列
不使用UUID MD5 HASH
不使用%前導的查詢(xún),如like "%ab"
不使用負向查詢(xún),如not in/like
不在低基數列上建立索引,例如:性別
不在索引列進(jìn)行數學(xué)運算和函數運算
##SQL設計
充分利用前綴索引,例如:最左前綴
不使用select *
不能同時(shí)用到兩個(gè)范圍條件
不使用存儲過(guò)程、觸發(fā)器、視圖等
不使用大表join
不使用數學(xué)運算和邏輯判斷
不使用order by rand()
不使用單條sql語(yǔ)句同時(shí)更新多個(gè)表
多使用insert ... on duplicate key update
多使用replace into、insert ignore、insert into values(),(),()
多使用update ... where id in(10,20,50,...)
使用in代替or, in的值不超過(guò)1000個(gè)
使用explain診斷,避免生成臨時(shí)表
使用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;
##行為規范
禁止有super權限的應用程序賬號存在
不在業(yè)務(wù)高峰其期批量更新、查詢(xún)數據庫
提交線(xiàn)上建表改表需求,必須詳細注明所有相關(guān)sql語(yǔ)句
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站