关系型数据库,引擎MyISAM和InnoDB

Posted 寻找梦想的大熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系型数据库,引擎MyISAM和InnoDB相关的知识,希望对你有一定的参考价值。

目录

1.MyISAM和InnoDB关于锁方面的区别是什么

2.mysql的两个常用存储引擎

3.MyISAM应用场景

4.InnoDB适合场景

四、引擎MyISAMInnoDB

1.MyISAMInnoDB关于锁方面的区别是什么

MyISAM默认用的是表级锁,不支持行级锁

InnoDB默认用的是行级锁,也支持表级锁

 

2.MYSQL的两个常用存储引擎

有两个常用存储引擎:MyISAMInnoDBMySQL默认的)

MyISAMInnoDB的区别:

1)事务处理方面:

MyISAM强调性能,查询速度比InnoDB快,但不提供事务支持;

InnoDB提供事务支持。

2)外键:

MyISAM不支持外键;InnoDB支持外键。

3)锁:

MyISAM只支持表级锁;

InnoDB支持表级锁与行级锁,默认是行级锁。

因此InnoDB适合插入和更新比较多的情况,MyISAM适合频繁查询的情况。

4)全文索引:

MyISAM支持全文索引,InnoDB不支持全文索引(从MySQL5.6版本开始提供对全文索引的支持)

5)表主键:

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

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

6)表的具体行数:

MyISAMselect count(*) from table,MyISAM只需要读出保存好的行数,因为MyISAM内置了一个计数器。

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

 

3.MyISAM应用场景

 

 

4.InnoDB适合场景

 

 

以上是关于关系型数据库,引擎MyISAM和InnoDB的主要内容,如果未能解决你的问题,请参考以下文章

Mysql引擎 Innodb和MyISAM的区别

MySQL存储引擎MyISAM和InnoDB

MySQL进阶之存储引擎MyISAM与InnoDB的区别

Mysql使用的B+树和存储引擎的关系

mysql中myisam,innodb和memory三个存储引擎的区别

常用mysql数据库引擎——MyISAM和InnoDB区别