mysql规范

112 阅读1分钟
  1. 所有字段均定义为NOT NULL

因为innoDB需要有额外一个字节存储,表内默认值NUll会过多的影响优化器选择执行计划。

  1. 字段类型在满足需求的条件下越小越好。
  2. 使用TIMESTAMP存储时间。
  3. 使用varchar存储编程字符串。
  4. 使用UNSIGNED INT存储ipv4。
  5. 使用DECIMAL存储精确浮点数,而不是float又有精度问题。
  6. 单个索引字段书不超过5个,单表索引不超过5个
  7. 选择区分度高的列作为索引。
  8. order by 和group by字段要建立合适的索引。
  9. 避免索引的隐式转换。
  10. 避免冗余索引。
  11. update,delete语句不适用limit,容易造成主从不一致。