MySQL中寻常存储引擎它们相互之间有哪些区别
发布时间:2022-03-10 13:16:14 所属栏目:MySql教程 来源:互联网
导读:这篇文章给大家分享的是有关MySQL中常用存储引擎它们相互之间有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 MySQL中常用的四种存储引擎分别是: MyISAM存储引擎、innoDB存储引擎、MEMORY存储引擎、ARCHIVE存储引擎
这篇文章给大家分享的是有关MySQL中常用存储引擎它们相互之间有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 MySQL中常用的四种存储引擎分别是: MyISAM存储引擎、innoDB存储引擎、MEMORY存储引擎、ARCHIVE存储引擎。本文将对这四种存储引擎作出重点介绍,最后对这四种存储引擎进行比较。 一、存储引擎 1、存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。 2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。 二、MySQL 中查看引擎 1、show engines; // 查看mysql所支持的存储引擎,以及从中得到mysql默认的存储引擎。 2、show variables like '% storage_engine'; // 查看mysql 默认的存储引擎 3、show create table tablename ; // 查看具体某一个表所使用的存储引擎,这个默认存储引擎被修改了! 4、show table status from database where name="tablename" //准确查看某个数据库中的某一表所使用的存储引擎 三、MySQL中常用的几种存储引擎: MyISAM存储引擎: 存放的位置: MySQL如果使用MyISAM存储引擎,数据库文件类型就包括.frm、.MYD、.MYI,默认存放位置是C:Documentsand SettingsAll UsersApplication DataMySQLMySQL Server 5.1data 存放的方式: MyISAM 这种存储引擎不支持事务,不支持行级锁,只支持并发插入的表锁,主要用于高负载的select。 2.innoDB存储引擎 存储位置:MySQL如果使用InnoDB存储引擎,数据库文件类型就包括.frm、ibdata1、.ibd,存放位置有两个,.frm文件默认存放位置是C:Documents and SettingsAll UsersApplicationDataMySQLMySQL Server 5.1data,ibdata1、.ibd文件默认存放位置是MySQL安装目录下的data文件夹。 innodb存储引擎的mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务的安全。 innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话怎会进行自动存现有的值开始增值,如果有但是比现在的还大,则就保存这个值。 innodb存储引擎支持外键(foreign key) ,外键所在的表称为子表而所依赖的表称为父表。 innodb存储引擎最重要的是支持事务,以及事务相关联功能。 innodb存储引擎支持mvcc的行级锁。 innodb存储引擎索引使用的是B+Tree 优缺点:InnoDB的优势在于提供了良好的事务处理、崩溃修复能力和并发控制。缺点是读写效率较差,占用的数据空间相对较大。 3.MEMORY存储引擎 memory存储引擎相比前面的一些存储引擎,有点不一样,其使用存储在内从中的数据来创建表,而且所有的数据也都存储在内存中。 4.ARCHIVE存储引擎 该存储引擎非常适合存储大量独立的、作为历史记录的数据。区别于InnoDB和MyISAM这两种引擎,ARCHIVE提供了压缩功能,拥有高效的插入速度,但是这种引擎不支持索引,所以查询性能较差一些。 四.四种存储引擎比较 InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。 注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。 感谢各位的阅读!关于MySQL中常用存储引擎它们相互之间有哪些区别就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |