设计中的常见陷阱
- 太多的列:MySQL的存储引擎API工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转成行数据结构的操作代价是非常高的。
- 太多的关联:过多的关联会占用较多的CPU
范式和反范式
三范式
第一范式
每一列的属性都是不可再分的属性值,确保每一列的原子性
符合第一范式
省 | 市 | 区 |
---|---|---|
广东省 | 广州市 | 海珠区 |
广东省 | 深圳市 | 光明区 |
不符合第一范式例子
地址 |
---|
广东省广州市海珠区 |
第二范式
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)保证一张表只描述一件事情
订单编号 | 下单时间 | 订单类型 |
---|---|---|
001 |