1.1 Mysql数据库的优化技术
1、mysql优化是一个综合性的技术,主要包括
1. 表的设计合理化(符合3NF)
2. 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]
3. 分表技术(水平分割、垂直分割)
4. 读写[写: update/delete/add]分离
5. 存储过程 [模块化编程,可以提高速度]
6. 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ]
7. mysql服务器硬件升级
8. 定时的去清除不需要的数据,定时进行碎片整理(MyISAM)
2、要保证数据库的效率,要做好以下四个方面的工作
1. 数据库设计
2. sql语句优化
3. 数据库参数配置
4. 恰当的硬件资源和操作系统
此外,使用适当的存储过程,也能提升性能。
这个顺序也表现了这四个工作对性能影响的大小
1.2 数据库表设计
1、通俗地理解三个范式
第一范式: 1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF)
第二范式: 2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式: 3NF是对字段冗余性的约束,它要求字段没有冗余。 没有冗余的数据库设计可以做到。