mysql优化第二天

数据库表的设计

什么样才符合3NF(范式),标的范式,首先符合1NF,进一步满足2NF、3NF,最高到6NF。

1NF:对属性原子性约束,对属性(表的列)具有原子性,即列不可在分割。关系型数据库自动满足1NF

菲关系型数据库(关系型结构缺陷)最大特点面向对象和集合,关系型面向关系的(主外键)

nosql介于关系型和非关系型之间MongoDB(特点面向文档

2NF:表中记录唯一,即满足2NF,通常设计一个主键来实现。主键约束,不含业务逻辑(比较稳定,没有修改理由)。

3NF:表中不要有冗余数据【一个数据可以被推倒出来,则不应单独建立一个字段】

 

逆范式:适当的进行反三范式

案例:相册浏览

相册表、图片表,图片表包含浏览次数字段,相册表中浏览次数包含该相册下所有图片浏览总和,每次均需计算图片表所有浏览次数总和,会非常浪费资源且效率低下。所以每次更新图片表中图片字段浏览次数时,相应更新相册表浏览次数

 

 

你可能感兴趣的:(mysq优化)