mysql定義結(jié)構(gòu)需考慮的問題?
在設計數(shù)據(jù)結(jié)構(gòu)時需要注意:
1、永遠為表設定一個自增主鍵ID,并盡可能的利用此ID進行構(gòu)造
(在配置表中)盡可能的用上unsigned,并盡可能的小。能用tinyint(1字節(jié))、smallint(2字節(jié))、mediumint(3字節(jié)),就不用int(4)字節(jié)
2、盡可能的使用ENUM,比如性別,屬相等,因ENUM是保存為tinyint
3、盡可能的使用not null,除非業(yè)務需要使用null
4、把IP地址存為int unsigned ,使用 inet_aton() 和 inet_ntoa() 來進行轉(zhuǎn)換
5、盡量使用短的字符類型
6、盡量使用固長的字符類型,當表中所有的字段都是固定長度,DB 會認為表是static類型,如果有固定長度和非固定長度的字段盡量采用垂直分割,將表分割。