1. MySQL建表,字段需设置为非空,需设置字段默认值。
2. Mysql建表,字段尽量不要使用null,需NULL时,需设置字段默认值,默认值不为NULL。
3. MySQL建表,不同表之间的相同属性值的字段,列类型,类型长度,是否非空,是否默认值,需保持一致
4. MySQL使用时,多列索引的属性最多15个。
5. MySQL通常使用找到最少行的索引,索引唯一值最高的索引。
6. 建立索引index(part1,part2,part3),相当于建立了 index(part1),index(part1,part2)和index(part1,part2,part3)三个索引。
7.表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字
8.禁用保留字
如desc、range、match、delayed等。
9.主键索引名为pk_字段名 ;唯一索引名为uk_字段名 ;普通索引名为idx_字段名。
pk_:primary key
uk_:unique key
idx_:index
10.小数类型为decimal,禁止使用float和double
float和double在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不正确的结果。如果存储的数据范围超过decimal的范围,建议将数据拆成整数和小数分开存储。
11.如果存储的字符串长度几乎相等,使用char定长字符串类型。
12.如果修改字段含义或对字段表示的状态追加时,需要及时更新字段注释
13.字段允许适当冗余,以提高查询性能,但必须考虑数据一致,冗余字段应遵循:
不是频繁修改的字段;
不是varchar超长字段,更不能是text字段
14.单表行数超过1000万行或者单表容量超过2GB,才推荐进行分库分表。
说明:如果预计三年后的数量根本达不到这个级别,请不要在创建表时就分库分表。
15.合适的字符存储长度,不但节约数据库表空间,节约索引存储,更重要的是提升检索速度。
image16.创建数据库时必须显式指定字符集,并且字符集只能是utf8。
17.对于超过100W行的大表进行alter table,必须在业务低峰期执行。
18.不推荐使用blob,text等类型
规范示例:
image
网友评论