美文网首页
mysql表设计规范

mysql表设计规范

作者: purewater2014 | 来源:发表于2018-06-11 18:57 被阅读305次

    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.合适的字符存储长度,不但节约数据库表空间,节约索引存储,更重要的是提升检索速度。

    image

    16.创建数据库时必须显式指定字符集,并且字符集只能是utf8。

    17.对于超过100W行的大表进行alter table,必须在业务低峰期执行。

    18.不推荐使用blob,text等类型

    规范示例:

    image

    相关文章

      网友评论

          本文标题:mysql表设计规范

          本文链接:https://www.haomeiwen.com/subject/mkoheftx.html