mysql中myisam和innodb的区别是什么?

如题所述

innodb和myisam的区别有:支持事务不同,支持键不同,锁表不同,索引实现不同,聚簇索引不同。

1、支持事务不同

innodb支持事务,而myisam不支持事务。

2、支持键不同

innodb支持外键,而myisam不支持外键。

3、锁表不同

innodb默认表锁,使用索引检索条件时是行锁,而myisam是表锁(每次更新增加删除都会锁住表)。

4、索引实现不同

innodb和myisam的索引都是基于b+树,但他们具体实现不一样,innodb的b+树的叶子节点是存放数据的,myisam的b+树的叶子节点是存放指针的。

5、聚簇索引不同

innodb是聚簇索引,必须要有主键,一定会基于主键查询,但是辅助索引就会查询两次,myisam是非聚簇索引,索引和数据是分离的,索引里保存的是数据地址的指针,主键索引和辅助索引是分开的。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网