MySQL資料庫設計規範

2021-08-17 23:49:50 字數 1520 閱讀 1470

禁止使用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儲存引擎 原因 預設儲存引擎 進行了很多優化 支...