如何通俗地理解三个范式?
答:第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。。
范式化设计优缺点:
优点:
可以尽量得减少数据冗余,使得更新快,体积小
缺点:对于查询需要多个表进行关联,减少写得效率增加读得效率,更难进行索引优化
反范式化:
优点:可以减少表得关联,可以更好得进行索引优化
缺点:数据冗余以及数据异常,数据得修改需要更多的成本
Char 和 varchar 的区别
Char:长度是不可变;存储效率高;占用空间多;
Varchar:长度可变;空间效率高,占用空间少;
数据库优化方向:
设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率;
选择合适的表字段数据类型和存储引擎,适当的索引添加;
Mysql主从读写分离;
找规律分表,减少单表中的数据量;
添加缓存机制;
不经常改动的页面生成静态页面;
书写高效率的sql;