更多>>数据库 Blog

MySQL数据库中存储引擎MyISAM和InnoDB的区别

MySQL数据库支持多个存储引擎,如MyISAM,MEMORY,InnoDB等,其中比较常用的存储引擎为MyISAM和InnoDB。

1、默认存储引擎:

MySQL从5.5.5版本开始,默认存储引擎为InnoDB。

2、事务处理上:

MyISAM:不支持事务。强调性能,执行速度比InnoDB快。

InnoDB:支持事务。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认封装成一个事务,自动提交,这样会影响速度,所以最好把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。

3、锁定上:

MyISAM:支持表锁定,不支持行锁定。即MyISAM同一个表上的读锁和写锁是互斥的,默认写请求的优先级高。

InnoDB:支持行锁定。

4、外键支持上:

MyISAM:不支持外键。

InnoDB:支持外键。

5、全文索引:

MyISAM:支持全文索引。MyISAM的全文索引没啥用,因为它不支持中文分词,必须由使用者分词后加入空格再写到数据表里。

InnoDB:不支持全文索引。

6、count速度:

MyISAM:count()时比InnoDB快的多。因为MyISAM内置了一个计数器,count()时直接从计数器中读。

InnoDB:count()时必须扫描全表。

7、增删改查操作上:

MyISAM:如果执行大量查询操作select,MyISAM是最好的选择。

InnoDB:如果执行大量写操作insert或updata操作,InnoDB是首选。


评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

  换一张?
captcha
看不清?点击图片换一张