- 所有字段均定义为NOT NULL
因为innoDB需要有额外一个字节存储,表内默认值NUll会过多的影响优化器选择执行计划。
- 字段类型在满足需求的条件下越小越好。
- 使用TIMESTAMP存储时间。
- 使用varchar存储编程字符串。
- 使用UNSIGNED INT存储ipv4。
- 使用DECIMAL存储精确浮点数,而不是float又有精度问题。
- 单个索引字段书不超过5个,单表索引不超过5个
- 选择区分度高的列作为索引。
- order by 和group by字段要建立合适的索引。
- 避免索引的隐式转换。
- 避免冗余索引。
- update,delete语句不适用limit,容易造成主从不一致。