B
Published on
· Last modified on
· Public

浅谈Mysql中MyISAM引擎与InnoDB存储引擎差别

最近写Mysql时忘了加引擎,结果默认的引擎是InnoDB,这是事务引擎,之前一直使用MyISAM引擎,听说在查询读取方面性能要比InnoDB强,为了提示下所谓的性能,索性把表改成MyISAM引擎,不能直接改,于是就查了下资料,发现可以把一张表复制到另一张表,sql如下

insert into table1 select * from table2

与是把一张八十多万的数据转移到另一张表,速度很快.

然后把两张同样的表放在一起对比发现.

浅谈Mysql中MyISAM引擎与InnoDB存储引擎差别

InnoDB引擎数据表要比MyISAM引擎数据表大些.

但是这并不代表MyISAM引擎性能要比InnoDB引擎好,显然InnoDB引擎要比MyISAM引擎要付出更多的'代价',在mysql5.5后默认的数据库引擎改为InnoDB,说明InnoDB引擎将成为主流引擎.

InnoDB引擎是支持事务的,事务就好比说什么呢?我也讲不清,好吧,咋们科普下
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

简单的说就是事务,就好比完成一件事,要么全部完成,要么什么都不做,绝不可能半途而废,在数据存储中,不可避免有外界干扰,因此支持事务能有效的保证数据的完整性,假设我们在银行转帐,恰巧在存的时候突然断电,你的金额被扣,但是数据库在断电的一瞬间sql语句只执行了一半,也就是说他没有相应的对转如的账户加钱,这时候就会对用户造成不可避免的损失,解决这一方案是用事务,要么存完,要么不存,如果发生突然性断电,就立即回滚(退回你的金额),这样大大的降低了用户损失.

看到这里,小伙伴们可能要问,我们到底用MyISAM引擎还是InnoDB引擎?

答案是看情况咯,在什么时候做什么事.
如果数据不是经常更新,也不是太重要,但要求速度给力时,选MyISAM引擎.

如果数据很重要,或是需要支持事务,选 InnoDB 引擎.

暂时就这么多吧..........................

原文:http://dxxing.com/index.php/ho...

Z
Published on
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

B
Published on
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

是的 没注意啊 

B
Published on
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

本来还有图的但是死活插不上

Z
Published on
baoshu:
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

本来还有图的但是死活插不上

并不支持外链图片,本地图片直接直接拖到编辑器里就可以了。

B
Published on
zhicheng:
baoshu:
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

本来还有图的但是死活插不上

并不支持外链图片,本地图片直接直接拖到编辑器里就可以了。

多谢提醒,试试!

B
Published on
baoshu:
zhicheng:
baoshu:
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

本来还有图的但是死活插不上

并不支持外链图片,本地图片直接直接拖到编辑器里就可以了。

多谢提醒,试试!

不行啊

Z
Published on
baoshu:
baoshu:
zhicheng:
baoshu:
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

本来还有图的但是死活插不上

并不支持外链图片,本地图片直接直接拖到编辑器里就可以了。

多谢提醒,试试!

不行啊

好像可以了,你再试一下。

B
Published on
zhicheng:
baoshu:
baoshu:
zhicheng:
baoshu:
zhicheng:
如果数据很重要, 或是需要支持事务, 选 MyISAM 引擎.>

这个应该是 InnoDB ?

本来还有图的但是死活插不上

并不支持外链图片,本地图片直接直接拖到编辑器里就可以了。

多谢提醒,试试!

不行啊

好像可以了,你再试一下。

果然可以了,我都怀疑你是站长了...

Z
Published on

感觉现在大家都是用 MariaDB 了,我现在基本上全表都是 InnoDB 引擎。

B
Published on
zhicheng:感觉现在大家都是用 MariaDB 了,我现在基本上全表都是 InnoDB 引擎。

MariaDB没听说过,查了下图标竟然是海豹

Z
Published on
baoshu:
zhicheng:感觉现在大家都是用 MariaDB 了,我现在基本上全表都是 InnoDB 引擎。

MariaDB没听说过,查了下图标竟然是海豹

主要是 MySQL 的前途现在握在 Oracle 手里,大家不太放心。。。

B
Published on
zhicheng:
baoshu:
zhicheng:感觉现在大家都是用 MariaDB 了,我现在基本上全表都是 InnoDB 引擎。

MariaDB没听说过,查了下图标竟然是海豹

主要是 MySQL 的前途现在握在 Oracle 手里,大家不太放心。。。

懂,甲骨文公司软件基本都收费,奥原来是MySQL被收购后,作者又开发了一个.

Z
Published on
baoshu:
zhicheng:
baoshu:
zhicheng:感觉现在大家都是用 MariaDB 了,我现在基本上全表都是 InnoDB 引擎。

MariaDB没听说过,查了下图标竟然是海豹

主要是 MySQL 的前途现在握在 Oracle 手里,大家不太放心。。。

懂,甲骨文公司软件基本都收费,奥原来是MySQL被收购后,作者又开发了一个.

是的哈,我现在基本上都是在用 MariaDB 。感觉有些细节和功能确实不错,虽然暂用不上,哈哈哈。

B
Published on
zhicheng:
baoshu:
zhicheng:
baoshu:
zhicheng:感觉现在大家都是用 MariaDB 了,我现在基本上全表都是 InnoDB 引擎。

MariaDB没听说过,查了下图标竟然是海豹

主要是 MySQL 的前途现在握在 Oracle 手里,大家不太放心。。。

懂,甲骨文公司软件基本都收费,奥原来是MySQL被收购后,作者又开发了一个.

是的哈,我现在基本上都是在用 MariaDB 。感觉有些细节和功能确实不错,虽然暂用不上,哈哈哈。

OK,有空我也试试!

Sign in or Sign up Leave Comment