婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL 數據庫鐵律(小結)

MySQL 數據庫鐵律(小結)

熱門標簽:銅陵防封電銷卡 怎么在地圖標注位置生成圖片 美國反騷擾電話機器人 電銷卡外呼系統供應商 400電話可以免費申請嗎 真人語音電話機器人 福建外呼系統定制化 悟空科技電話機器人 騰訊地圖標注提升

好的數據庫規范有助于減少軟件實現的復雜度,降低溝通成本,本鐵律主要涵蓋了建庫建表、建索引、寫 SQL、ORM 映射等方面的處理約定。

1.建庫鐵律

- 鐵律 Level 備注
字符集 使用 utf-8。如果存儲的是表情則選用 utf8mb4 進行存儲。 強制
排序規則 使用 utf8_general_ci 強制

2.建表鐵律

- 鐵律 Level 備注
注釋 一定要有字段注釋。 強制
編碼 使用 utf-8。如果存儲的是表情則選用 utf8mb4 進行存儲。 強制
是否概念的字段 必須用 is_xx 命名,數據類型是 unsigned tinyint(1是0否)例如 is_deleted(1刪除0未刪除)。 強制 任何字段如果非負數必須unsigned
表名、字段名 只能使用小寫字母、下劃線或者數字;禁止以下劃線或者數字開頭;禁止兩個下劃線之間只出現數字;禁用保留字;表名禁止使用復數名詞。 強制
庫名、表名的命名 庫名盡量與應用名稱一致,表名最好用 業務名稱_表的作用 命名。 強制
索引命名 主鍵索引用 pk_字段名;唯一索引用 uk_字段名;普通索引用 idx_字段名。 強制 pk_ 即 primary key;uk_即 unique key;idx_即 index
小數類型 數據類型是 decimal,禁止使用 float 和 double,float 和 double 存在精度損失,如果存儲的數據范圍超過 decimal 的范圍,建議將數據拆成整數和小數并分開存儲。 強制
varchar類型 varchar是可變長字符串,不預先分配存儲空間,長度不要超過5000個字符,如果長度大于5000應用text(獨立出一張表來,用主鍵來對應,避免影響其他字段的索引效率)。 強制
表名必備三字段 id(數據類型是 unsigned bigint,單表遞增,步長為1),gmt_create、gmt_modified(主動創建時間、被動更新時間,數據類型都是 datetime)。 強制
字段冗余 字段允許適當冗余,但必須考慮數據一致,冗余字段應具備1)不頻繁修改;2)不是varchar超長字段,更不能是text字段。 推薦
分庫分表 單表行數超過500萬行或者單表容量超過2GB時,才推薦分庫分表。 推薦

設置合適的字符存儲長度,不但可以節約數據庫表空間和索引存儲,更重要的是能夠提升檢索速度。

3.建索引鐵律

- 鐵律 Level 備注
唯一索引 業務上具有唯一特性的字段,即使是多個字段的組合,也必須建成唯一索引。雖然唯一索引影響了 insert 速度,這個損耗可以忽略,但是明顯提高了查詢速度;另外,即使在應用層做了非常完善的校驗控制,只要沒有唯一索引,根據墨菲定律,必然有臟數據產生。 強制
join 超過三個表禁止 join,需要 join 的字段,數據類型必須一致;當多表關聯查詢時,保證被關聯的字段需要有索引;即使雙表 join 也要注意表索引、SQL 性能。 強制
varchar字段上建立索引 必須指定索引長度,沒必要對全字段建立索引,根據實際文本區分度決定索引長度即可。索引長度與區分度是一對矛盾體,一般對字符串類型數據,長度為 20 的索引,區分度會高達 90% 以上,可以使用 count(distinct left(列名, 索引長度))/count(*) 的區分度來確定。 強制
頁面搜索禁止模糊 頁面搜索禁止左模糊或者全模糊,如果有需要請走搜索引擎來解決。禁止原因:索引文件具有 B-Tree 的最左前綴匹配特性,如果左邊的值未確定,那么無法使用此索引。 強制
order by 如果有 order by 的場景,請注意索引的有序性。order by 最后的字段是組合索引的一部分,并且放在索引組合順序的最后,避免出現 file_sort 的情況,影響查詢性能。正例:where a=? and b=? order by c; 索引應建為 a_b_c;反例:索引中有范圍查找,那么索引有序性無法利用,如 where a>10 order by b; 索引 a_b 無法排序。 推薦

4.寫SQL鐵律

- 鐵律 Level 備注
count(*) 不要使用 count(列名) 或 count(常量) 來替代 count(*),count(*) 是 SQL92 定義的標準統計行數的語法,跟數據庫無關,跟 NULL 和非 NULL 無關。count(*) 會統計值為 NULL 的行,而 count(列名) 不會統計此列為 NULL 的行。 強制
count(distinct col) 計算該列除 NULL 外的不重復行數。注意,count(distinct col1, col2),如果其中一列全為 NULL,那么即使另一列有不同的值,也返回為 0。 強制
sum(col) 當一列的值全為 NULL 時,count(col) 的返回結果為 0,但 sum(col) 的返回結果為 NULL,因此使用 sum() 時需要注意 NPE 問題。可用如下方式避免 NPE 問題:select if(isnull(sum(g)), 0, sum(g)) from table; 強制
isnull 使用 isnull() 來判斷是否為 NULL 值。NULL 與任何值的比較都為 NULL。 強制
分頁查詢邏輯 若 count 為 0 應直接返回,避免執行后面的分頁語句。 強制
外鍵與級聯 禁止使用外鍵與級聯,一切外鍵概念必須在應用層解決。原因:外鍵與級聯不適合分布式、高并發集群,級聯更新是強阻塞,存在數據庫更新風暴的風險,外鍵影響數據庫的插入速度。 強制
存儲過程 禁止使用存儲過程,存儲過程難以調試和擴展,更沒有移植性。 強制
數據訂正 數據訂正(特別是刪除、修改記錄操作)時要先 select,避免出現誤刪除,確認無誤后才能執行更新語句。 強制
in in 操作能避免就避免,如果實在避免不了,in 后面的集合元素數量要控制在 1000 個以內。 推薦
truncate table 禁止使用 truncate table,truncate table 比 delete 速度快,且使用的系統和日志資源少,但是 truncate 無事務且不觸發 trigger,有可能造成事故,故不要在開發代碼中使用此語句。 參考

5.ORM映射鐵律

- 鐵律 Level 備注
表查詢 禁止使用 * 作為查詢的字段列表,需要哪些字段必須明確。 強制
POJO POJO 類的布爾屬性不能加 is,而數據庫字段必須加 is,要求在 resultMap 中進行字段與屬性之間的映射。 強制
返回參數 禁止用 resultClass 作為返回參數,即使所有類屬性名與數據庫字段一一對應,也需要定義;反過來,每一個表也必然有一個屬性與之對應。原因:配置映射關系,使字段與 DO 類結耦,方便維護。 強制
返回參數 禁止直接使用 HashMap、HashTable 作為查詢結果集的輸出。原因:屬性值的類型不可控。 強制
sql.xml 配置參數 sql.xml 配置參數使用 #{}, #param#,不要使用 ${},${} 容易出現SQL注入。 強制
queryForList 禁止使用 Mybatis 自帶的 queryForList(String statementName, int start, int size)。原因:其實現方式是在數據庫取到 statementName 對應的 SQL 語句的所有記錄,再通過 subList 取 start, size 的子集合。 強制
更新時間 更新數據庫表記錄時,必須同時更新記錄對應的修改時間。 強制
更新數據庫表記錄 不要寫一個大而全的數據更新接口(傳入為 POJO 類)。執行 SQL 時,不要更新無改動的字段,原因:容易出錯、效率低、增加 binlog 存儲。 推薦
@Transactional @Transactional 事務不要濫用。事務會影響數據庫的 QPS。另外,使用事務的地方需要考慮各方面的回滾方案,包括緩存回滾、搜索引擎回滾、消息補償、統計修正等。 參考
Mybatis 動態sql標簽 isEqual> 中的 compareValue 是與屬性值對比的常量,一般是數字,表示相等時執行相應的 SQL 語句; isNotEmpty> 表示不為空且不為 null 時執行; isNotNull> 表示不為 null 時執行。 參考

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Mysql數據庫清理binlog日志命令詳解
  • mysql如何比對兩個數據庫表結構的方法
  • MySQL查看數據庫表容量大小的方法示例
  • 利用MySQL系統數據庫做性能負載診斷的方法
  • mysql創建數據庫,添加用戶,用戶授權實操方法

標簽:武威 湖北 白銀 湖南 臨汾 聊城 烏海 云浮

巨人網絡通訊聲明:本文標題《MySQL 數據庫鐵律(小結)》,本文關鍵詞  MySQL,數據庫,鐵律,小結,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 數據庫鐵律(小結)》相關的同類信息!
  • 本頁收集關于MySQL 數據庫鐵律(小結)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    《视频一区视频二区| 成人黄动漫网站免费app| 处破女av一区二区| 亚洲综合成人在线视频| 91色乱码一区二区三区| 国产精品久线观看视频| 99在线视频精品| 亚洲午夜免费视频| 欧美一区二区免费观在线| 国产在线视视频有精品| 欧美va在线播放| 成人网在线播放| 亚洲国产aⅴ成人精品无吗| 日本韩国一区二区三区视频| 亚洲成人你懂的| 精品999在线播放| 91丨porny丨中文| 亚洲成人福利片| 欧美精品一区二区三区高清aⅴ | 亚洲午夜激情av| 一区二区三区在线视频免费 | 高清国产一区二区| 麻豆精品一区二区综合av| 成人欧美一区二区三区黑人麻豆| 91麻豆精品国产91久久久| 91久久一区二区| 国产成人av网站| 亚洲美女视频在线| 亚洲色图丝袜美腿| 亚洲午夜一区二区| 亚洲黄色小视频| 国产欧美日韩不卡| 亚洲精品第1页| 免费日韩伦理电影| 美洲天堂一区二卡三卡四卡视频| 五月激情综合婷婷| 日本一区二区三区四区在线视频| 国产精品毛片a∨一区二区三区| 2020国产精品| 亚洲观看高清完整版在线观看| 精品一区二区久久| 色综合天天综合网国产成人综合天 | 国产精品美女久久久久久久网站| 日韩国产在线观看| 日韩欧美在线不卡| 国产黄人亚洲片| 国产风韵犹存在线视精品| 国产精品一区二区久久精品爱涩| 欧美国产日韩一二三区| 色8久久精品久久久久久蜜| 日韩不卡一二三区| 亚洲一区二区三区四区不卡| 午夜精品一区二区三区三上悠亚| 精品国一区二区三区| 国产精品成人一区二区三区夜夜夜| 久久精品水蜜桃av综合天堂| 国产最新精品免费| 欧美一区二区三区在线观看视频 | 蜜桃一区二区三区四区| 97se亚洲国产综合自在线不卡| 高清在线不卡av| 91丝袜美腿高跟国产极品老师 | 成人动漫中文字幕| 色婷婷精品久久二区二区蜜臀av| 欧美一激情一区二区三区| 综合网在线视频| 日韩av网站在线观看| 成人爱爱电影网址| 日韩一区二区三区观看| 蜜臀99久久精品久久久久久软件| 日本女人一区二区三区| 亚洲一区二区在线视频| 国产真实乱对白精彩久久| 波多野洁衣一区| 69堂成人精品免费视频| 欧美日韩高清在线| 91日韩一区二区三区| 91精品婷婷国产综合久久 | 国产一区二区电影| 欧美日韩亚洲另类| 怡红院av一区二区三区| 国产精品一区二区免费不卡| 欧美激情一区二区三区全黄| 国产在线日韩欧美| 欧美三级午夜理伦三级中视频| 色狠狠桃花综合| 曰韩精品一区二区| 91网站最新网址| 一区二区三区蜜桃网| 91在线视频18| 日韩一区二区电影网| 国产偷国产偷亚洲高清人白洁| 99久久免费精品高清特色大片| 国产精品高潮呻吟| 精品国产3级a| 欧美a一区二区| 在线视频国内自拍亚洲视频| 日韩精品五月天| 欧美xxxxx裸体时装秀| 91网站在线观看视频| 麻豆高清免费国产一区| 久久婷婷国产综合国色天香 | 1区2区3区欧美| 欧美精品一区二| 欧美日韩久久一区二区| 国内精品免费在线观看| 69堂国产成人免费视频| 欧美午夜影院一区| 亚洲宅男天堂在线观看无病毒| 欧美中文字幕一区二区三区| 五月天亚洲婷婷| 欧美韩国一区二区| 欧美视频自拍偷拍| 成人精品免费看| 首页综合国产亚洲丝袜| www.成人在线| 国产麻豆视频一区二区| 免费成人在线观看| 亚洲五码中文字幕| 欧美日韩大陆一区二区| 亚洲一级二级三级| 欧美日本免费一区二区三区| 97久久精品人人爽人人爽蜜臀| 一区二区三区日本| 国产校园另类小说区| 色88888久久久久久影院野外| 粉嫩av一区二区三区粉嫩| 裸体在线国模精品偷拍| 国产精品911| 国产在线国偷精品免费看| 日本vs亚洲vs韩国一区三区 | 欧美色图激情小说| 99久久99久久久精品齐齐| 狂野欧美性猛交blacked| 亚洲免费大片在线观看| 久草热8精品视频在线观看| 成人欧美一区二区三区1314| 欧美网站一区二区| 精品伊人久久久久7777人| 中文幕一区二区三区久久蜜桃| 99精品黄色片免费大全| 亚洲图片欧美综合| 91精品国产综合久久精品图片 | 国内精品写真在线观看| 亚洲国产乱码最新视频| 久久精品视频免费观看| 日韩亚洲欧美高清| 日韩欧美一二三区| 国产亚洲精品aa| 亚洲裸体xxx| 欧美aⅴ一区二区三区视频| 日本亚洲免费观看| 亚洲天天做日日做天天谢日日欢| 亚洲午夜免费电影| 精品国产一区二区国模嫣然| 7777精品久久久大香线蕉| 欧美日韩国产综合一区二区三区| 欧美一区二区三区视频免费| 欧美不卡激情三级在线观看| 欧美午夜精品电影| 色综合天天天天做夜夜夜夜做| 国产成人高清在线| 久久精品国产亚洲高清剧情介绍| 久久精品72免费观看| 福利一区二区在线观看| 欧美久久久久久蜜桃| 亚洲欧美偷拍另类a∨色屁股| 黄页网站大全一区二区| 国产精品天干天干在观线| 国产精品电影一区二区| 自拍偷拍国产精品| 亚洲高清不卡在线| 99久精品国产| 成人av在线一区二区三区| 欧美一区二区成人6969| 亚洲精品伦理在线| 国产一区美女在线| 国产伦精一区二区三区| 福利一区二区在线观看| 成人白浆超碰人人人人| 精品国精品国产尤物美女| 亚洲小说欧美激情另类| 欧美自拍丝袜亚洲| 一区二区三区欧美日韩| 9i看片成人免费高清| 一区二区三区在线观看视频| 国产日韩欧美不卡在线| 日韩欧美国产精品一区| 亚洲图片有声小说| 欧洲亚洲国产日韩| 免费高清视频精品| 色94色欧美sute亚洲13| 亚洲国产精品一区二区久久恐怖片 | 欧美日韩一区二区在线视频| 欧美精品tushy高清| 中文字幕中文字幕一区二区| 国产精品白丝jk黑袜喷水| 日本一区二区三区免费乱视频| 国产精品1区2区3区| 国产精品久久夜|