想你了的他他 发表于 2018-10-3 07:30:50

MySQL规范推荐

1.1 合理使用 bigint(20) 数值类型:  类型: BIGINT
  大小: 8 字节
  范围(有符号): (-9 233 372 036 854 775 808,9 223 372 036 854 775 807)
  范围(无符号): (0,18 446 744 073 709 551 615)
  用途: 极大整数值
  适用场景:
  记录IP值,记录手机号,记录×××件号,记录其它证件号及20位以内的大数值数据。
  手机号码:11 位, 存bingint 8字节, 存varchar 12 字节
  ×××号:18 位, 存bingint 8字节, 存varchar 19 字节
  IP字串:11-15 位,存bingint 8字节, 存varchar 12-16 字节
  IP操作技巧,'58.56.161.255' 对应976790015 使用函数转换:
  字符串转数值: select INET_ATON('58.56.161.255');
  数值转字符串: select INET_NTOA(976790015);
  1.2 字段设计的一般要求是:
  a. 书写简洁,意义可读,不使用属于系统内码保留关键字,必须带准确注释。
  b. 使用小写字母与下划线组成。

  c. 主键推荐用>  主键注释COMMENT 中可以推荐外健用名 xxx_id。
  d. 是别的表的外健使用xxx_id的方式命名,有推荐用推荐名称,无推荐xxx可用外键原表名。
  e. 字段类型选择要求,业务上合理、节约存储空间。
  f. 字段不再强制要求非空,使用NULL时程序上注意相应的处理。NULL除了占有NULL标志位,实际存储不占用任何空间。
  1.3 表设计的一般要求是:
  a. 书写简洁,意义可读,必须带准确注释。
  b. 表名加前缀,前缀定义用系统或模块的英文名称缩写。
  c. 使用小写字母与下划线组成。
  d. 引擎根据应用场景选择,OLTP用innodb,OLAP推荐用myisam。
  e. 字符集推荐使用utf8或者utf8mb4
  f. 要进行容量预估,数据量大要考虑分表策略这项应该与DBA共同协商完成。
  1.4 索引设计的一般要求是:
  a. 索引名称,一般索引加前缀idx_,推荐唯一索引加前缀uni_也可以统一用idx_。
  b. 联合索引名称,推荐中间列名可以用缩写方式以减少名称长度,也可以用完整名字。
  例如:KEY `idx_status_ae_s2_it_ae_activityflag`
  对应列:(`status`,`areacode`,`sid2`,`ifaudit`,`asktime`,`activityflag`)
  c.
  d.

页: [1]
查看完整版本: MySQL规范推荐