码迷,mamicode.com
首页 > 数据库 > 详细

mysql 第四十四篇文章~谈谈最基本的规范

时间:2017-12-20 16:52:07      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:规范   个数   post   存储引擎   设置   选择   关键字   影响   而且   

一 简介:今天咱们来谈谈研发规范

二 规范
   1 表
       1 选择合适的字符集和存储引擎 推荐innodb utf8mb4
       2 表名称不要包含mysql关键字,符合命名规范
       3 不建议采用外键
       4 尽量不要采用分区表,采用分库分表是最优方案
  2 列
       1 每一列都要设置comment注释 
       2 每一列最好都设置为非NULL,设置默认值
       3 varchar和char的选择 定长选择char 变长选择varchar ,字符型长度尽量不要太大,否则日后维护和创建索引会有限制
       4 datetime和timestamp的选择 1 timestamp 1 默认值系统时间和更新触发属性2 有时间限制(1970-2038) 2datetime 1插入系统时间now() 2 无默认时间及更新属性,3 相当于无时间限制,4允许为空 所以这个看需求定义
       5 集合,枚举,位图类型类型尽量不要选择
       6 对于int类型,尽量规范出 int bigint tinyint进行细化定义,能用小不要用大,并采用无符号型
       7 表主键选择(1 自增数字主键(推荐) 2 varchar类型(除非业务需要,否则尽量不要选择作为主键)),尽量避免联合主键的情况,可以采用唯一性索引进行约束
 3 索引
      1 索引尽量在建表时建立好
      2 尽量用多列索引代替多个单列索引
      3 索引的最大长度
         1 所有索引键最大长度总和不能超过1000,而且不是实际数据长度的总和,而是索引键字段定义长度的总和。
         2 正因为索引有长度限制,所以针对字符型的长度要做限制
      4 一个表中索引个数不要太多,否则会影响DML操作效率
      5 索引的命名规范要有逻辑性,最好统一为idx_
      6 索引的创建选择列要选择区分度较高的列

三 总结:

     关于创建表的规范,参考了inception审核体系和平时的一些经验.有不足和错误的地方请指正

mysql 第四十四篇文章~谈谈最基本的规范

标签:规范   个数   post   存储引擎   设置   选择   关键字   影响   而且   

原文地址:http://www.cnblogs.com/danhuangpai/p/8074091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!