mysql中utf-8占用3个Byte

  • 一般不宜定义大于50Byte的char类型列~16个字符
  • 数据长度固定的推荐使用char

避免使用外键约束

  1. 降低数据导入的效率

    如果使用外键,导入数据时,每导入一条数据都会查询是否符合外键约束,高并发时,耗时太长

  2. 增加维护成本

  3. 虽然不建议使用外键约束,但是相关联的列上一定要建立索引

避免使用触发器

  1. 降低数据导入的效率。
  2. 可能会出现意想不到的数据异常。
  3. 使业务逻辑变的复杂。

预留字段

  1. 无法知道准确知道预留字段的类型
  2. 无法准确知道预留字段中所存储的内容
  3. 后期维护预留字段所要的成本,同增加一个字段所需要的成本是相同的。
  4. 严禁使用预留字段。

反范式化设计

为了性能和读取效率的考虑而适当的对第三范式的要求进行违反,允许存在少量的数据冗余。