Mysql数据库支持多个存储引擎。不同的存储引擎具有其适用的场景。选择正确的存储引擎是Mysql的优化策略之一。
常见的存储引擎有:MyISAM,Innodb,Memory
数据库系列:Mysql主流存储引擎和适用场景
MySQL 5.5及更高版本使用innodb作为默认存储引擎。主要特点如下:
支持行级锁定
支持外键约束
完成事务机制,实现四个隔离级别
可靠性数量,碰撞后的高修复能力
文件格式:
.frm(存储表定义)
共享表空间文件:ibdata1
私有表空间文件:table name.ibd
重做日志文件
适用场景:数据修改频繁,事务需求相对较高(如财务系统),需要支持并发处理能力的系统。
MYISAM
MySQL 5.5使用MYISAM作为默认存储引擎。主要特点如下:
更注重阅读效率,更快查询
减少磁盘空间
仅支持表级锁,并发性差
不支持交易,灾难恢复能力差
文件格式:
.frm(存储表定义)
MYD(MYData,存储数据)
MYI(MYIndex,存储指数)
适用场景:数据很少更新,插入一次和多次读取的业务场景。
数据库系列:Mysql主流存储引擎和适用场景
记忆
与内存缓存类似,表结构的定义存在于磁盘(frm文件)上,实际数据存储在内存中,响应速度更快。
快速反应
表级锁,频繁更新数据可能会导致并发瓶颈
不支持变量字段(但可以使用verchar实现文本存储)
数据可靠性很差,重启后机器或MySQL服务器将丢失
需要机器有足够的内存
适用场景:数据量较小,需要频繁访问,数据丢失不会对业务造成严重影响。
上海IT外包服务网 链接:http://www.linemore.com