bigdata~

2020-07-06   阅读量: 661

Mysql

MySQL存储引擎:Innodb和MyISAM的区别

扫码加入数据分析学习群
  1. InnoDB不支持FULLTEXT类型的索引

2.InnoDB中不保存具体的行数,也就是说,执行select count(*) from table时,InnoDB要全表扫描来计算有多少行,但是myisam只需要简单的读出保存好的行数即可。当count(*)包含where条件时,两种存储引擎的操作是一样的。

3.对于auto_increment类型的字段,Innodb中必须包含只有该字段的索引,但是在myisam中,可以和其他字段一起建立联合索引

4.delete from table 时,Innodb不会重新建立表,而是一行一行的删除,

5. load table from master操作对Innodb是不起作用的,解决办法是首先把Innodb表改成myisam表,导入数据后在改成Innodb表,但是对于额外的Innodb特性(例如 外键)的表示不起作用的


另外,Innodb存储引擎对表的行级锁也不是绝对的,假如在执行一个sql语句时mysql不能确定要扫描的范围,Innodb同样会锁全表


两种存储引擎的最主要的差别是Innodb支持事务处理与外键和行级锁,而myisam不支持,但是myisam的插入数据和执行速度比较快,性能较好。

56.1069 4 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子