存储引擎

it2022-05-09  31

一、MyISAM

1. 特点:

Mysql5.5版本之前的默认存储引擎

数据表文件组成:表名.frm .MYD .MYIfrm 描述表结构 MYD保存表数据 MYI存储表索引

2. 特性:

并发性与锁级别-表级锁;

支持全文检索

支持数据压缩

3. 使用场景:

非事务性应用(数据仓库,报表,日志数据);

只读类应用;

空间类应用(空间函数,坐标);

二、Innodb

1. 特点:

Mysql 5.5 以及以后版本默认的存储引擎;

2. 表空间描述:

SHOW VARIABLES LIKE '%innodb_file_per_table%';

ON:独立表空间(包含文件.frm + .ibd);

OFF:系统表空间 (ibdataX);

3. 表空间对比:

系统表空间无法简单的收缩文件大小独立表空间可以通过optimize table 收缩系统文件系统表空间会产生IO瓶颈独立表空间可以同时向多个文件刷新数据

4. 特性:

InnoDB 是一个事务性存储引擎完全支持事物的ACIDRedo Log 和 Undo LogInnodb 支持行级锁(并发程度更高)

三、两者之间的对比

对比项 MyISAM  InnoDB 主外键 不支持支持事物不支持支持行级锁表锁,即操作一条记录,也会锁住整个表;不适合高并发操作

行锁,也支持表级锁,行锁的只是锁住某一行,不对其他行造成影响;

适合高并发操作

缓存只是缓存索引,不缓存真是数据 不仅缓存索引还要缓存真 实数据,对内存要求较高, 而且内存大小对性能有决 定性的影响 表空间小大关注点性能事物默认安装Y 5.5版本之前Y 5.5 版本即以后的版本

 

转载于:https://www.cnblogs.com/lys-lyy/p/11161185.html


最新回复(0)