最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MySQL開發(fā)規(guī)范

2019-01-11 14:20 作者:動(dòng)力節(jié)點(diǎn)  | 我要投稿

一、基礎(chǔ)規(guī)范

?

1) ? ?使用InnoDB存儲引擎
2) ? ?數(shù)據(jù)庫字符集使用UTF8,校對字符集使用utf8_general_ci
3) ? ?所有表、字段都盡量添加注釋
4) ? ?庫名、表名、字段名使用小寫字母,禁止超過32個(gè)字符,須見名知意
5) ? ?非唯一索引以 “idx_字段1_字段2” 命名,唯一索引必須以 “uniq_字段1_字段2” 命名

?

二、查詢規(guī)范

?

1) ? ?SQL語句盡可能簡單,大的SQL想辦法拆分成小的SQL實(shí)現(xiàn)
2) ? ?不要使用SELECT * ,查詢具體要用到的字段
3) ? ?禁止like做where條件(會全表掃描且不能用索引)
4) ? ?除非必要,避免使用 != 等非等值操作符(會導(dǎo)致用不到索引)
5) ? ?Where條件里不要對列使用函數(shù)(不會引用索引)
6) ? ?能確定返回結(jié)果只有一條時(shí),使用limit 1(LIMIT分頁注意效率,LIMIT越大,效率越低)
7) ? ?少用子查詢,改用JOIN(子查詢要在內(nèi)存里建臨時(shí)表)
8) ? ?多表JOIN的字段,區(qū)分度最大的字段放在前面
9) ? ?IN條件里的數(shù)據(jù)數(shù)量要盡量少,超過200個(gè)用EXIST代替IN
10) ? ?Where字句中同一個(gè)表的不同字段組合建議小于5組(否則考慮分表)
11) ? ?禁止單條語句同時(shí)更新多個(gè)表
12) ? ?事務(wù)要盡量簡單,整個(gè)事務(wù)的時(shí)間長度不要太長


三、表設(shè)計(jì)規(guī)范

?

1) ? ?用DECIMAL代替FLOAT和DOUBLE存儲精確浮點(diǎn)數(shù)(精確數(shù)據(jù))
2) ? ?使用TINYINT代替ENUM類型(便于遷移時(shí)兼容)
3) ? ?盡可能不使用TEXT、BLOB類型(該數(shù)據(jù)類型不能設(shè)置默認(rèn)值、不便于排序、不便于建立索引)
4) ? ?同一意義的字段設(shè)計(jì)定義必須相同(便于聯(lián)表查詢)
5) ? ?所有字段均定義為NOT NULL(避免使用NULL字段,NULL字段很難查詢優(yōu)化,NULL字段的索引需要額外空間,NULL字段的復(fù)合索引無效)
6) ? ?表必須有主鍵,不使用更新頻繁的列做主鍵、盡量不使用字符串列做主鍵,盡量使用非空的唯一自增鍵做主鍵


四、索引設(shè)計(jì)規(guī)范

?

1) ? ?單表索引數(shù)量不超過10個(gè)
2) ? ?單個(gè)字段不要超過兩個(gè)索引
3) ? ?新建的唯一索引必須不能和主鍵重復(fù)
4) ? ?避免冗余和重復(fù)索引
5) ? ?盡量不要在頻繁更新的列上建立索引
6) ? ?不在低基數(shù)列上建立索引,例如狀態(tài)、類型等
7) ? ?不在索引列進(jìn)行數(shù)學(xué)運(yùn)算和函數(shù)運(yùn)算(參與了運(yùn)算的列不會引用索引)
8) ? ?復(fù)合索引須符合最左前綴的特點(diǎn)建立索引(mysql使用復(fù)合索引時(shí)從左向右匹配)
9) ? ?重要的SQL中where條件里的字段必須被索引
10) ? ?Where條件里的字段順序與索引順序無關(guān),優(yōu)化器會自動(dòng)調(diào)整
11) ? ?索引選擇性= Cardinality / Total Rows,即基數(shù) ÷ 數(shù)據(jù)行數(shù),值越接近1說明使用索引的過濾效果越好
12) ? ?建立索引時(shí),務(wù)必先explain,查看索引使用情況


MySQL開發(fā)規(guī)范的評論 (共 條)

分享到微博請遵守國家法律
新蔡县| 林芝县| 新郑市| 抚顺县| 柯坪县| 林甸县| 林口县| 西峡县| 隆德县| 定州市| 辽源市| 子洲县| 台南市| 澎湖县| 塘沽区| 镶黄旗| 阿巴嘎旗| 瑞安市| 庆城县| 闽侯县| 察雅县| 府谷县| 菏泽市| 柘荣县| 德阳市| 上思县| 湘潭市| 昌邑市| 涟源市| 巩义市| 师宗县| 孝昌县| 双城市| 崇义县| 来凤县| 海南省| 勐海县| 张家界市| 偃师市| 南开区| 巴林右旗|