Mysql資料庫開發36條軍規

2021-09-01 19:25:06 字數 661 閱讀 3246

盡量不在資料庫做運算

控制單錶資料量

保持表身段苗條

平衡正規化與冗餘

拒絕3b(大sql、大事物、大批量)

用好數值字段型別

將字元轉化為數字

優先使用enum或set

避免使用null欄位

少用並拆分text/blob

不在資料庫裡存放

謹慎合理新增索引

字元字段必須建立字首索引

不在索引列做運算

自增或全域性id做innodb主鍵

盡量不用外來鍵

sql語句盡可能簡單

保持事務短小

盡可能避免使用sp/trig/func

盡量不用select *

改寫or語句

避免負向查詢和%字首模糊查詢

減少count(*)

limit高效分頁

用union all而非union

分解聯接保證高併發

group by去掉排序

同資料型別的列值比較

load data匯入資料

打散大批量更新

know every sql!

隔離線上線下

禁止未經dba確認的子查詢

永遠不在程式端顯示加鎖

統一字符集為utf8

統一命名規範

MySQL 資料庫開發的 36 條軍規

mysql 資料庫開發的 36 條軍規 寫在前面的話 總是在災難發生後,才想起容災的重要性 總是在吃過虧後,才記得曾經有人提醒過。一 核心軍規 1 不在資料庫做運算 cpu計算務必移至業務層 2 控制單錶資料量 單錶記錄控制在1000w 3 控制列數量 字段數控制在20以內 4 平衡正規化與冗餘 為...

MySQL資料庫開發的 36 條軍規

來自一線的實戰經驗,主要針對dba和後端開發人員,總是在災難發生後,才想起容災的重要性 總是在吃過虧後,才記得曾經有人提醒過。核心軍規 盡量不在資料庫做運算 控制單錶資料量 純int不超過10m條,含char不超過5m條 保持表身段苗條 平衡正規化和冗餘 拒絕大sql,複雜事務,大批量任務 欄位類軍...

MySQL資料庫開發的 36 條軍規!

一 核心軍規 盡量不在資料庫做運算 控制單錶資料量 純int不超過10m條,含char不超過5m條 保持表身段苗條 平衡正規化和冗餘 拒絕大sql,複雜事務,大批量任務 二 欄位類軍規 用好數值字段,盡量簡化字段位數 把字元轉化為數字 優先使用enum或set 避免使用null欄位 少用並拆封tex...