一。数据库设计方面
1)遵循数据库设计三大范式 ,适当的进行反范式设计
第一范式:1NF 原子性 字段不能再拆分
第二范式: 2NF 先满足第一范式 主键之外的要完全依赖于主键,消除了部分依赖
第三范式 :3NF 先满足第二范式 完全消除传递依赖
反范式设计:允许部分冗余字段,目的为了避免多表查询,提高查询速度
优点:查询速度快 缺点:冗余字段多维护起来成本高
范式优点:方便维护 缺点:查询速度不如反范式
2)设计字段的时候尽可能使用小的字段,比如varchar tinyint
3)选择合适的mysql引擎 两个引擎的区别(重点)
1>存储类型的区别 myisam frm 表结构文件 myd数据文件 myi索引文件 innodb frm ibd 数据索引共用一个表空间
2>myisam读的效率高,不支持事务 表锁 innodb支持事务 支持行锁
一般数据是插入和查询使用myisam引擎 ,删除和修改使用innodb引擎
3>mysql5.5以后默认引擎是innodb
4>mysql5.7以后innodb支持全文索引 之前版本不支持
事务:(acid特性)
原子性 一致性 隔离性 持久性
四个隔离级别:读未提交(脏读) 读提交(不可重复读) 重复读(幻读) 序列化(解决幻读 脏读 不可重复读 但是消耗比较大,一般不用)
4)数据表 可以加数据库名为前缀 我们的字段可以加数据表名为前缀,字段起名要有意义,可以使用简称
网友评论