MySQL引擎

MYSQL常用的有两个引擎,

 

一个是innerDB,一个是MYISAM,这两个是有区别的,MYSQL默认的是InnoDB

 

 

 

建表时候可以选择默认的引擎,也可以说是表的类型。

以下是MyISANM和innoDB的区别

 

 

细说一下里面的区别:

  InnoDB支持事务,MyISAM不支持

  存储限制,MyISAM最多到64TB,innodb没有限制(会受到系统文件大小的限制,比如系统文件单个最大2G)

  锁粒度,Innodb最细是到行锁,例如,更新一个数据的时候,innodb只会锁住要更新的那一行,而MyISAM则是表锁,更新的时候,会把整个表锁住

  因此面高并发的时候,MyISAM的访问会时常受限制,这也是后面MySQL默认使用innodb的原因之一。

 

MYISAM的文件结构,主要分两个,一个是MYD(MYData),存储数据,一个MYI(MYIndex),作索引(index是索引的关键词)

 

 

innodb的文件结构,表单独做一个文件,里面包含了这个表的数据和索引

 

 

 

 如何选择?

  •   如果需要事务,选择innodb,
  •   如果需要外键,使用innodb(不支持用物理外键,删除数据的时候太麻烦了)
  •   如果数据库中大部分都是读取查询的操作,那么可以用MYISAM,如果写入多,就用InnoDB

  

posted @ 2021-09-24 21:39  hickup  阅读(222)  评论(0编辑  收藏  举报