1. 程式人生 > >MySql數據庫規範與原則

MySql數據庫規範與原則

優化 數據庫表 datetime status 上下 字符串 cell 組成 str

1、數據庫表名命名規範
采用26個英文字母(區分大小寫)和0-9的自然數(經常不需要)加上下劃線‘_‘組成; 命名簡潔明確,多個單詞用下劃線‘_‘分隔; 例如:user_login, user_profile, user_detail, user_role, user_role_relation, user_role_right, user_role_right_relation 表前綴‘user_‘可以有效的把相同關系的表顯示在一起;
2、數據庫表字段名命名規範
采用26個英文字母(區分大小寫)和0-9的自然數(經常不需要)加上下劃線‘_‘組成; 命名簡潔明確,多個單詞用下劃線‘_‘分隔; 例如:user_login表字段 user_id, user_name, pass_word, eamil, tickit, status, mobile, add_time; 每個表中必須有自增主鍵,add_time(默認系統時間) 表與表之間的相關聯字段名稱要求盡可能的相同;

3、用盡量少的存儲空間來存數一個字段的數據;
        例如:能使用int就不要使用varchar、char,能用varchar(16)就不要使用varchar(256);
        IP地址最好使用int類型;
        固定長度的類型最好使用char,例如:郵編;
        能使用tinyint就不要使用smallint,int;
        最好給每個字段一個默認值,最好不能為null;
4、字段類原則
        用好數值類型(用合適的字段類型節約空間);
        字符轉化為數字(能轉化的最好轉化,同樣節約空間、提高查詢性能);
        避免使用NULL字段(NULL字段很難查詢優化、NULL字段的索引需要額外空間、NULL字段的復合索引無效);
        少用text類型(盡量使用varchar代替text字段);

MySQL數據類型 含義
date 3字節,日期,格式:2014-09-18
time 3字節,時間,格式:08:42:30
datetime 8字節,日期時間,格式:2014-09-18 08:42:30
timestamp 4字節,自動存儲記錄修改的時間
year 1字節,年份

整型

MySQL數據類型 含義(有符號)
tinyint 1字節,範圍(-128~127)
smallint 2字節,範圍(-32768~32767)
mediumint 3字節,範圍(-8388608~8388607)
int 4字節,範圍(-2147483648~2147483647)
bigint 8字節,範圍(+-9.22*10的18次方)

字符串數據類型

MySQL數據類型 含義
char(n) 固定長度,最多255個字符
varchar(n) 可變長度,最多65535個字符
tinytext 可變長度,最多255個字符
text 可變長度,最多65535個字符
mediumtext 可變長度,最多2的24次方-1個字符
longtext 可變長度,最多2的32次方-1個字符



MySql數據庫規範與原則