禁止使用mysql保留關鍵字(
資料庫物件的命名要見名識義,並且最好不要超過32個字元
臨時庫表必須以tmp為字首並以日期為字尾
備份庫表必須以bak為字首並以日期為字尾
所有儲存相同資料的列名和列型別必須一致
資料庫和表的字符集統一使用utf-8。
所有表和字段都要新增注釋
create
table
`t_building` (
`id`
varchar(255) not
null
default
'' comment '主鍵_id'
) engine=innodb default charset=utf8 comment='建築表';
謹慎使用mysql分割槽表
盡量做到冷熱資料分離,減少表的寬度
禁止在表中建立預留字段
禁止在資料庫中儲存,檔案等二進位制資料
禁止從開發環境,測試環境直連生產環境資料庫
每個innodb表必須有乙個主鍵
在哪些列上建立索引
如何選擇索引列的順序
避免建立冗餘索引和重複索引
對於頻繁的查詢優先考慮使用覆蓋索引
避免使用外來鍵
varchar(n)中的n代表是字元數,而不是位元組數
避免使用text,blog資料型別
避免使用enum資料型別
盡可能把所有列定義為not null
用字串儲存日期型的資料是不正確的
同財務相關的金額類資料,必須使用decimal型別
避免資料型別的隱式轉換,如果定義的為字串型別一定要加單引號
合理利用存在索引,而不是盲目增加索引。充分利用表上已經存在的索引
程式連線不同的資料庫使用不同的賬號,禁止跨庫查詢
禁止使用select *必須使用select 字段列表查詢
禁止使用不含字段列表的insert語句
insert
into t values('a','b','c');
insert
into t(c1,c2,c3) values('a','b','c');
避免使用join關聯太多的表
減少同資料庫互動次數
使用in代替or
禁止使用order by rand()進行隨機排序
where從句中禁止對列進行函式轉換和計算
在明顯不會有重複值時使用union all而不是union
拆分複雜的大sql為多個小sql
對大表資料結構的修改一定要謹慎,會造成嚴重的鎖表操作。尤其是生產環境,是不能忍受的。
對大表使用pt-online-schema-change修改表結構
禁止為程式使用的賬號賦予super許可權
對於程式連線資料庫賬號,遵循許可權最小原則
MySQL資料庫設計規範
1.庫名,表名,欄位名必須使用小寫字母,多個單詞中間用下劃線隔開 2.庫名,表名,欄位名支援最多32個字元,易於辨識和減少傳輸量不要超過32 3.庫名,表名,欄位名禁止使用mysql保留關鍵字 4.臨時庫,臨時表名必須以tmp為字首並以日期為字尾 5.備份庫,備份表名必須以bak為字首並以日期為字尾...
MySQL資料庫設計規範
規範背景與目的 mysql資料庫與 oracle sql server 等資料庫相比,有其核心上的優勢與劣勢。我們在使用mysql資料庫的時候需要遵循一定規範,揚長避短。本規範旨在幫助或指導rd qa op等技術人員做出適合線上業務的資料庫設計。在資料庫變更和處理流程 資料庫表設計 sql編寫等方面...
MYSQL資料庫設計規範
資料庫設計規範 命名規範 小寫字母開頭單詞之間使用下劃線分割 大小寫敏感 禁止使用保留關鍵字 不要超過32個字元 臨時表以tmp為字首 時間為字尾 備份表 bak為字首 時間為字尾 所有儲存相同資料型別的列名和列型別必須一致 所有表必須使用innodb儲存引擎 原因 預設儲存引擎 進行了很多優化 支...