MySQL有哪些数据库存储引擎,有什么区别?

1.存储引擎是什么?有什么用?
2.Mysql中常见的存储引擎有哪些?
3.MyISAM和innoDB的区别?

问题回答

1.Mysql中的数据用各种不同的技术储存在文件(或内存)中,这些技术中的每一个技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力.在MySQL中将这些不同的技术及配套的相关功能称为存储引擎.

2.存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为储存的数据建立索引以及如何更新,查询数据等技术实现的方法

3.mysql存储引擎总共有九种,常用的数据引擎有MyISAM,InnDB,MEMORY,ARCHIVE;

(查看mysql支持引擎命令:SHOW ENGINES;对于MySQL 5.5及更高版本,默认的存储引擎是InnoDB。在5.5版本之前,MySQL的默认存储引擎是MyISAM。)

4.MyISAM和InnDB的区别:
MyISAM存放的方式:MyISAM这种引擎不支持事务,不支持行级锁,只支持并发插入的表锁,主要用于高负载的select.

索引的方式:MyISAM也是使用B+tree索引但是和InnoDB的在具体实现上有些不同

优缺点:MyISAM的优势在于占用空间小,处理速度快,缺点就是不支持事务的完整性和并发性

InnoDB存放的方式:innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话会进行自动存现有的值开始增值,如果有但是比现在的还大,则就保存这个值.

innodb存储引擎支持外键(foreign key),外键所在的表称为字表而所依赖的表称为父表.

innodb存储引擎最重要的是支持事务,以及事务相关联的功能.支持mvcc的行级锁

索引的方式:innodb存储引擎使用的是B+Tree

优缺点:InnoDB的优势在于提供了良好的事务处理,崩溃修复能力和并发控制,缺点是读写效率较差,占用的数据空间相对较大.

简要回答

1.存储引擎是用来把数据存储在文件或内存的技术

2.mysql常用的存储引擎有四种,常用的有MyISAM,InnoDB,MEMORY,ARCHIVE;

3.innoDB支持事务,支持外键,支持表锁,支持全文索引,读取数据快

辅助理解
1.查看数据库引擎

1.不同存储引擎的对比

MySQL有哪些数据库存储引擎,有什么区别?_第1张图片
1.如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择。
如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率。

如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。

如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive。

使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能。

你可能感兴趣的:(MySQL有哪些数据库存储引擎,有什么区别?)