(存储层MySQL优化)存储引擎选择

日期:2018-02-03 21:46:19 类别:  数据库

<!--markdown-->MySQL优化大致可以从以下几个反面来优化:
存储层、设计层、架构层、sql语句
存储层:存储引擎选择、字段类型选择、范式设计
MySQL常用存储引擎:Innodb、Myisam;
Memory、Archive这两个存储引擎,很少见,至少我还没见过.....


----------


![mysql存储引擎][1]
Innodb:支持事务、行锁(并发性非常好)、外键
    数据插入顺序:按照主键的顺序排列


----------


Myisam:表锁(并发性低)、
    数据插入顺序:自然顺序排列
    有压缩机制


----------
Archive:归档型存储引擎,只能写入、查询,不能更改、删除操作


----------
Memory:内存型存储引擎,操作速度很快,但由于是在内存中,所以只能存放临时性数据。
就跟MemCache没有自带持久化功能一样(可以自己写服务,让数据持久化,但是Redis本身就有了持久化的特点:快照、aof)


----------
Mysql5.5默认存储引擎都是innodb的

  [1]: http://images.isoftvip.com/isoftvip/images/11rrrrs2.png