MySQL 引擎

MySql常用引擎对比
特点 MyISAM InnoDB
存储限制 64TB
事务安全   支持
锁机制 表锁 行锁
B树索引 支持 支持
哈希索引    
全文索引 支持  
集群索引   支持
数据缓存   支持
索引缓存 支持 支持
空间使用
内存使用
批量插入速度
支持外键   支持
数据可压缩 支持  

 

对于自动增长列,innodb可以手动插入,插入为空或0,则实际插入的值将为自动增长的值。

MyISAM不支持事务和外键,innodb支持事务和外键。

相对于mysiam,innodb写的效率更低,并且会占用更多的磁盘空间保存数据和索引。

对于innodb,自动增长列必须为索引,如果是组合索引,则必须是组合索引的第一列,但myisam没有要求,如果使用MyISAM,将自动增长列作为索引的第二列或者第三列,那么会先将数据按照第一和第二列排序后再自增。比如插入(2,2)(3,3)(2,2)则第一个(2,2)的自动增长列为1,第二个为2,(3,3)的自动增长列为1.

select count(*)from table,MyISAM直接读取值,因为存储了记录数,而innodb必须遍历全表。

使用场景:MyISAM适用于select、insert较多的场景。InnoDB适用于大数据量系统,支持事务操作,可以提交、回滚、错误恢复。

 

展开阅读全文

没有更多推荐了,返回首页