innodb和myisam的区别是什么

文/叶丹

mysql的存储引擎很多,在工作中运用最多的存储引擎有两个,一个是InnoDB,一个是MyISAM。MyISAM现在为mysql的默认存储引擎,InnoDB是一个事务型存储引擎,它默认支持事务。

innodb和myisam的区别是什么

MyISAM和InnoDB比较

MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择。

InnoDB:这种类型是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表, 对于支持事物的InnoDB类型的表,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打 开也可以),将大大提高性能。

MyISAM和InnoDB区别

InnoDB:InnoDB是一个事务型存储引擎,它默认支持事务。因此,在对数据完整度有较高要求的项目中,都是采用InnoDB作为存储引擎,比如跟银行相关的项目。InnoDB还引入行级锁定。

MyISAM:MyISAM现在为mysql的默认存储引擎,如果在建表的时候,没有指定表类型,mysql就会默认使用MyISAM。MyISAM有一个很多人认为很重要,然而我却觉得没什么卵用的特性,那就是MyISAM表示独立于操作系统之外的。

猜你喜欢

innodb和myisam的区别是什么

2019-09-13

描写江南的诗句 关于江南的诗词大全

2021-10-27

申请助学金有什么弊端 好处有哪些

2021-10-27

电子科学与技术专业大学排名 2021最新排行榜

2021-10-27

中国青春励志人物素材新颖 有哪些比较好的素材

2021-10-27

工匠精神素材人物事迹简短事例

2021-10-27

如何提高孩子专注力 锻炼专注力的方法

2021-10-27

2022天津体育单招考试报名 怎么报名

2021-10-27

审计工资是多少 薪资待遇如何

2021-10-27

什么是预科班 需要哪些报考条件

2021-10-27