-- 数据库建表语句的规范小结
建表语句的规范:
1.字段的设计
A. 数据类型尽量用数字类型,数字类型的比字符类型的要快很多。
B. 数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小,
上次监控系统里面的表 mon_tair_stat_detail_2012_1 的data_size 和 use_size定义的是int(15) 实际上最大长度是int(11) 只有bigint才有(15).
所以在建表的时候一定要预估这个字段最大的长度到底是多少。
C. 尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT 的值来代替。
D. 少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。
2.字段名字的定义
A. 对字段名字的命名也要遵循一个规范。比如说时间: 目前我们定义时间的时候 都是create_time, modify_time,以后建表的时候,都按照这个标准来,就不要写成createtime这样的。
B. 布尔类型的值均以 is、has、exist 或者 can开头。
C. 记录行的状态都用status, 逻辑删除的标识用is_deleted。
D. 新建的表与之前的表的字段有相似或者相同的字段,字段的名称和类型也必须相同,切记不能随意的重新命名,例如:token_md5 就不要命名成tokenmd5了。
E. 每个字段的COMMENT必须写清楚,枚举类型必须写清楚每个值到底是什么意思。
F. 表名 字段名字统一用小写。
G.索引名称统一用字段名称,多个字段的索引加_ 比如 (uid,type) 索引名就是 uid_type。
H.字段名字不要用驼峰命名法 比如create_time