PHP面试必备知识-Mysq优化(一)

119 阅读1分钟
一、Mysql优化的策略


Mysql优化主要从三个方面来考虑:


1、架构:主从复制,读写分离


2、设计:三范式、存储引擎、字段类型


3、功能:索引、分区分表、缓存



二、Mysql优化——三范式设计


1、确保每个字段保持原子性,不可再分性


2、只有一个主键,并且非主键字段依赖于主键字段


3、表中非主键之间不可以存在依赖关系


优点:减少冗余提高读写效率,但是有时候我们需要反其道而为之,利用空间换时间(数据冗余策略),这一设计被称作“逆范式”;



三、Mysql优化——存储引擎


常用存储引擎:myisam,innodb,memory,archive;其中分别:


myisam
:访问的速度快,擅长处理高速读与写。锁的粒度是表级的;支持全文索引;以文件形式保存,在跨平台的数据转移中是更加方便的。Myisam是更简单的,所以较innodb效率更高。


innodb
:提供事务,行级锁定,外键约束的存储引擎。事务安全型存储引擎。更加注重数据的完整性和安全性。应用场景:订单、账户、积分等涉及金钱。


memory
:内存型;数据存储于内存中,存储引擎。缓存型存储引擎


archive
:存档型,仅提供插入和查询操作。非常高效 无阻塞的插入和查询。应用场景:管理员日志。