简要介绍了MySQL存储引擎和MyISAM和InnoDB的区别

MyISAM:默认的MySQL存储引擎插件,这是一种最常用的Web存储引擎、数据仓库等应用环境。注意,通过改变storage_engine配置变量,对MySQL服务器的默认存储引擎可以很容易地改变。
InnoDB:用于事务处理应用程序,有很多功能,包括酸处理的支持。
BDB:事务处理引擎可以取代InnoDB,支持提交、回滚、和其他交易的特点。
内存:保存RAM中的所有数据,并为您快速查找引用和其他类似数据的环境提供快速访问。
合并:让MySQL DBA或开发人员将一系列等价MyISAM表的逻辑,并参考他们的1个对象。它适用于大型数据库环境,如数据仓库。
联邦:它能够连接多个独立的MySQL服务器,并从多个物理服务器创建逻辑数据库,非常适合分布式环境或数据集市环境。
归档:为大量引用很少的历史记录、归档或安全审计信息提供存储和检索的完美解决方案。
集群/ NDB:MySQL数据库集群机特别适用于高性能的查询要求的应用,这也要求最高的正常工作时间和可用性。
其他:其他存储引擎包括CSV(逗号作为引用的数据库表文件(黑洞),在数据库应用程序的临时禁令,例如引擎(输入)和可提供的插件式存储引擎快速创建自定义帮助)。


之间的区别:MyISAM和InnoDB MySQL



InnoDB和MyISAM用于MySQL的使用最常见的两种表类型,各有优劣,取决于具体的应用,基本的区别是,MyISAM类型不支持事务处理等高级处理,而InnoDB类型的表supports.myisam型强调性能,其执行时间比InnoDB类型更快,但是不提供事务支持。InnoDB提供事务支持,如外部键,和其他先进的数据库功能。

myiasm是一个新的工作表的版本,以下扩展名的:

二进制层次结构的可移植性。
空列索引。
有小于长片段的。
支持大文件。
更好的索引压缩。
更好的关键统计分布。
更好更快的auto_increment处理。

下面是一些细节和具体的区别:

1。InnoDB不支持全文型指数(目前只支持MyISAM表,而只能用在char、varchar字段类型,文本)。
2。InnoDB不保存表的具体行数,也就是说,当执行select count(*)从表,InnoDB会扫描整个表来计算行数,但MyISAM只是读取保存的行数。请注意,当计数(*)语句包含在的条件下,两个表的操作是一样的。
3、对auto_increment类型字段,InnoDB必须包含这个领域的唯一指标,但在MyISAM,它可以建立与其他领域的联合指数。
当4。删除表中的数据时,InnoDB不重建表,而是一行行。
5,从掌握操作负荷表InnoDB不是有效的。解决的办法是改变InnoDB表MyISAM表首先,导入数据,然后转换为InnoDB表,但它不适用于附加InnoDB功能列表(如外键)。

此外,在InnoDB表的行锁也不是绝对的。如果执行SQL语句,MySQL无法确定要扫描的范围。InnoDB表也将锁定整个表,如更新表设置Num = 1的名字一样的名字。

任何表都不是万能的,只有用于业务类型的适当类型的表才能用来最大化MySQL的性能优势。