首页 > 其他分享 >InnoDB与 MyISAM 的区别

InnoDB与 MyISAM 的区别

时间:2023-03-11 17:35:03浏览次数:41  
标签:存储 区别 外键 引擎 InnoDB MyISAM MySQL

MyISAM InnoDB
事务 X
行锁 X
外键 X
全文搜索 X
表空间的大小 较小 较大,约为 MyISAM 的2倍

MyISAM

  • MyISAM 是 MySQL 5.5 版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用。而且 MyISAM 不支持外键,索引和数据是分开存储的。

InnoDB

  • InnoDB 是 MySQL 5.5 版本之后的默认引擎,基于聚簇索引建立的,支持事务、外键、行级锁,并且通过 MVCC 来支持高并发,索引和数据存储在一起。

如何选择

  1. 如果需要事务,选择 InnoDB,不需要则选择 MyISAM。

  2. 如果大部分表操作都是查询,选择 MyISAM,有写又有读选 InnoDB。

  3. 如果系统崩溃导致数据难以恢复,且成本高,不要选择 MyISAM。

参考链接

标签:存储,区别,外键,引擎,InnoDB,MyISAM,MySQL
From: https://www.cnblogs.com/Xin9Yun/p/17206019.html

相关文章

  • RDB和AOF的区别
    目录RDB和AOF的区别RDBAOF用途RDB和AOF的区别RDB是对数据做一个快照在指定的时间间隔内(可能是几分钟)将数据快照写入磁盘(如果宕机,就可能丢失几分钟的数据)数据恢复......
  • 不同类型的指针指向统一地址有什么区别
    首先先明确不同类型的指针有什么区别:对于不同类型的指针:所占的内存空间大小是相同的,不会因为指向内容有差别。指针本质为一个地址,只与cpu、操作系统和编译器位数有关。......
  • InnoDB建表与表空间
    InnoDB建表与表空间前言:数据在数据库中以磁盘和内存两种方式存在,内存中的数据是为了提升读写的速度,最终所有数据都会刷到磁盘中,而数据库是如何对表的空间进行管理的呢?本篇......
  • InnoDB引擎
    逻辑存储结构InnoDB的逻辑存储结构如下图所示:  1).表空间表空间是InnoDB存储引擎逻辑结构的最高层,如果用户启用了参数innodb_file_per_table(在8.0版本中默认开......
  • Post请求在JMeter的Parameters【参数】和Body Data【消息体数据】的使用区别
    注意:本次举例的网站登录接口是不限制Content-Type,所以可以application/x-www-from-urlencoded或application/json。在JMeter使用Parameters【参数】时,Content-Type默认为......
  • 机器学习算法之有监督学习和无监督学习的区别
    如今机器学习和人工智能是大家耳熟能详的两个词汇,在我们日常生活中也是被高频的提到。其实机器学习只是人工智能的一部分,是人工智能的一个子集,它往往是通过示例和经验模型......
  • JS中undefined和null的区别
    ●JavaScript真是一个特殊的语言,其他语言都只有一个表示"无"的值,比如Java语言用的是null,C语言用的是NULL,Python语言用的是None,Ruby语言用的是nil.......
  • 浅谈Vue3与Vue2区别
    1.Vue2选用选项式API(optionsapi)对比Vue3组合式API(CompositionApi)optionsapi在代码里分割了不同的属性(properties):data,computed属性,methods,选项所定义的属性都会暴露......
  • 线性安全和非线性安全的区别
    线性安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能访问,直到这个线程读取完之后,其他线程才可以使用,防止出现......
  • vue router中useRouter,userRoute的区别
    ......