mysql主要引擎区别

简介

通过梳理了解 mysql innodb 和 myisam 两个主要存储引擎的区别。

  1. 事务
    1. innodb 管理事务表,支持4个隔离级别,如果应用需要进行大量的写操作时推荐使用,可以有效提高多用户的并发操作能力。
    2. myisam 管理非事务表,支持高效的存储和检索,以及全文的搜索。如果应用需要进行大量的读操作时候推荐使用。
  2. 索引
    1. innodb
      1. 使用聚合索引,一个数据库需要在本地存储2个文件,分别为:表结构和数据索引文件
      2. 使用的是B+TREE数据结构,子节点保存的是行数据
      3. 本地存储文件较小
    2. myisam
      1. 使用非聚合索引,一个数据库需要在本地存储3个文件,分别为:表结构文件,索引文件和数据文件
      2. 使用的是B+TREE数据结构,子节点保存的是行指针,需要根据指针回原表查询获取行数据
      3. 本地存储文件较大
    1. innodb 默认采用行锁,但是查询如果没有使用索引或者索引失效,则会自动将行锁转换为表锁
    2. myisam 默认采用表锁
  3. 使用场景
    1. innodb
      1. 需要事务
      2. 数据需要进行频繁的更新
      3. 并发度高
      4. 对数据一致性要求较高
    2. myisam
      1. 不需要事务
      2. 数据不需要进行频繁更新
      3. 并发度低
      4. 对数据一致性要求较低

 上一篇
nodejs之buffer与stream nodejs之buffer与stream
bufferbuffer 使用从磁盘读取保存的临时空间,用于文件操作,二进制数据处理。 buffer 一个堆外内存,不通过v8引擎进行分配,而是由node的c++层面提供,node层面进行操作。内存申请操作如下: 当申请的内存小于8kb的
2020-03-19
下一篇 
mysql事务机制 mysql事务机制
简介知识点: 什么是事务 事务的特点 事务的隔离机制 事务的并发问题 事务概念和特点事务是指执行大量和复杂的数据操作,只有innodb引擎才支持事务。 事务具有以下特点: 一致性:如果事务没有成功,则所做的修改将不会保存到数据库中 原
2020-03-11
  目录