InnoDB与Myisam的主要区别

 1、 事务处理
innodb支持事务功能,myisam 不支持。
Myisam的执行速度更快,性能更好。
2、锁机制不同
InnoDB 支持行级锁,myisam为表级锁。
注意:如果查询不是通过索引访问的,那就是 通过简单的遍历所有行得到目标的,那就会给整个表加上锁
如: update table set num = 10 where username like "%test%";

不走索引的情况:

3、查询表的行数不同
MyISAM: select count(*) fromtable,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含  where条件时,两种表的操作是一样的

InnoDB  :  InnoDB中不保存表的具体行数,也就是说,执行select count(*) fromtable时,InnoDB要扫描一遍整个表来计算有多少行

4、物理结构不同

MyISAM :每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。
  .frm文件存储表定义。
  数据文件的扩展名为.MYD (MYData)。
  索引文件的扩展名是.MYI(MYIndex)

InnoDB: 基于磁盘的资源是InnoDB表空间数据文件和它的日志文件
5.
InnoDB不支持FULLTEXT类型的索引(5.6版本已经支持)
6.旧版本里对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值