美文网首页
MySQL存储引擎

MySQL存储引擎

作者: 老衲灬 | 来源:发表于2018-09-19 20:53 被阅读0次

1、存储引擎简介

明确:MySQL数据存在磁盘文件中
存储引擎:名词,主要用于声明MySQL表中数据的存储方式;不管选择何种存储引擎数据内容不会变化,不同的是存储空间大小、存储的速度、支持的功能不同。

2、存储引擎种类

MySQL常用存储引擎


查看当前MySQL支持的存储引擎列表(show engines

3、存储引擎(MyISAM)

-> 存储方式
创建数据库会在MySQL的data目录下创建同名目录

create database db1 charset utf8;

创建t1表选择myisam引擎,会在MySQL的data目录下创建三个文件存储

use db1;
create table t1(id int primary key auto_increment)engine=myisam charset=utf8;

-> 压缩MyISAM存储引擎
myisampack工具可以压缩MyISAM表,通常myisampack可以将数据文件压缩到40%-70%左右。
压缩解压语法:
①压缩表中的数据:myisampack.exe 数据路径/表名
②解压数据文件的命令:myisamchk.exe --unpack 数据路径/表名
注意:解压缩的同时,索引会自动重建

3、innodb存储引擎

创建t2表选择innodb引擎,会创建2个文件存储

create table t2 (id int primary key auto_increment) engine=innodb;

4、存储引擎速度对比

myisam查询比innodb快,因为myisam查询数据的排序就是数据默认插入的顺序,而innodb会将主键按照从小到大的顺序排序。

5、Archive存储引擎(存档型)

说明:只能够插入和查询数据,不能删和改
应用场景:网站管理员操作日志

6、Memory存储引擎(内存型)

将数据保存到内存中,一般不使用,直接使用内存数据库(memcache、redis)

7、MyISAM和InnoDB存储引擎区别

两种常用引擎区别总结:
①存储结构:MyISAM - 3个文件、InnoDB- 2个文件
②CURD操作:MyISAM查询插入快,InnoDB - 大量的插入和修改
③事物和外键支持:MyiSAM不支持,InnoDB支持
④锁:MyISAM仅支持表锁,InnoDB支持行锁&表锁
⑤全文检索(英文):仅MySQL5.6以下InnoDB不支持(注意:都不支持中文)

相关文章

网友评论

      本文标题:MySQL存储引擎

      本文链接:https://www.haomeiwen.com/subject/svrwnftx.html