1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Mysql存储引擎MyIsAM和InnoDB区别

Mysql存储引擎MyIsAM和InnoDB区别

时间:2023-02-12 09:10:44

相关推荐

Mysql存储引擎MyIsAM和InnoDB区别

Mysql 数据库中,最常用的两种引擎是innordb 和myisam。InnoDB 是Mysql 的默认存储引擎。

两者的区别:

1.事务处理上方面

MyISAM:强调的是性能,查询的速度比InnoDB 类型更快,但是不提供事务支持。

InnoDB:提供事务支持。

2.外键

MyISAM:不支持外键,

InnoDB:支持外键。

3.锁

MyISAM:只支持表级锁,

InnoDB:支持行级锁和表级锁,默认是行级锁,行锁大幅度提高了多用户并发操作的性能。innodb 比较适合于插入和更新操作比较多的情况,

而myisam 则适合用于频繁查询的情况。另外,InnoDB 表的行锁也不是绝对的,如果在执行一个SQL 语句时,MySQL 不能确定要扫描的范围,InnoDB 表同样会锁全表,

例如:update table set num=1 where name like “%aaa%”。

4.全文索引

MyISAM:支持全文索引,

InnoDB:不支持全文索引。innodb 从mysql5.6 版本开始提供对全文索引的支持。

5.表主键

MyISAM:允许没有主键的表存在。

InnoDB:如果没有设定主键,就会自动生成一个6字节的主键(用户不可见)。

6. 表的具体行数

MyISAM:select count(*) from table,MyISAM 只要简单的读出保存好的行数。因为MyISAM 内置了一个计数器,count(*)时它直接从计数器中读。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。