Mysql5.6一Mysql的存储引擎

MySQL5.6的存储引擎

登录客户端

输入命令:show engines;

输出结果:

Mysql5.6一Mysql的存储引擎_第1张图片

 

总结:从输出结果可以得到mysql支持9中引擎默认的引擎是Innodb

另一种方式获取MySQL数据库

输出命令 show variables like 'storage_engine';

Mysql5.6一Mysql的存储引擎_第2张图片

查看某一张表的的存储引擎

输出命令  show table status like 表名

输出结果:

Mysql5.6一Mysql的存储引擎_第3张图片

MyiSam和InnoDB的比较

Mysql5.6一Mysql的存储引擎_第4张图片

总结:

    MySam的写(insert,update,delete)的效率比InnoDB高。

    InnoDB是事物性存储引擎所以存在事物,而MyiSam的存储引擎不能存在事物。

    InnoDB是行级锁,而MyISam是表级锁。

    MySam的不支持主键和外键,而InnoDB支持主键和外键。

 

MyISam存在碎片化(消除碎片化)

创建一个test100的表用MyIsam的存储引擎。

Mysql5.6一Mysql的存储引擎_第5张图片

 

创建成功之后并且在数据库的data文件夹创建了三个文件

插入三条数据并且观察文件夹的大小

Mysql5.6一Mysql的存储引擎_第6张图片

删除一条数据并且查询文件的大小

Mysql5.6一Mysql的存储引擎_第7张图片

执行处理碎片化的命令

Mysql5.6一Mysql的存储引擎_第8张图片

总结:

    .frm文件主要存储了的结构

    .myd 主要存储了的是表里面的数据

    .myi 主要存的是表的索引

    从上述的测试可以看出MyISAM存储引擎他之所以写的效率高是因为他只要存储在里面的东西他就不会删除,若在存储的时候只要以前有这条数据他就会直接用一亲的数据所以他的效率高。

你可能感兴趣的:(Mysql优化)