MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?

这篇具有很好参考价值的文章主要介绍了MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?

                💧 M y S Q L ⽀持哪些存储引擎?默认使⽤哪个? M y I S A M 和 I n n o D B 引擎有什么区别,如何选择? \color{#FF1493}{MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?} MySQL持哪些存储引擎?默认使哪个?MyISAMInnoDB引擎有什么区别,如何选择?💧          


🌷 仰望天空,妳我亦是行人.✨
🦄 个人主页——微风撞见云的博客🎐
🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
💧 《Java学习笔记》专栏的文章是本人在Java学习中总结的一些知识点~ 💐
🥣 《每天一点小知识》专栏的文章可以丰富你的知识库,滴水成河~ 🌊
🎐 《Redis》专栏的文章是在学习Redis时,整理的笔记与记录的思考~ 🥏
🥕 《RabbitMQ》专栏的文章是在学习尚硅谷课程时整理的笔记,方便复习巩固~ 🍑
🪁 希望本文能够给读者带来一定的帮助~🌸文章粗浅,敬请批评指正!🐥



🌊MySQL存储引擎比较(官方)

    💧MySQL 支持多种存储引擎,包括 InnoDB、MyISAM、MEMORY、CSV 等。默认情况下,MySQL 使用的存储引擎是 InnoDB。

    💧MyISAM 和 InnoDB 是 MySQL 中最常用的两种存储引擎,它们有以下区别:

  1. 锁定方式不同:MyISAM 使用表级锁定,而 InnoDB 使用行级锁定。在并发访问时,InnoDB 的锁定方式更加精细,可以避免锁定整个表,提高了并发性能。

  2. 数据完整性不同:MyISAM 不支持事务和外键约束,而 InnoDB 支持事务和外键约束,可以保证数据的完整性和一致性。

  3. 读写性能不同:MyISAM 的读写性能相对较高,适合于读密集型应用;而 InnoDB 的写性能相对较高,适合于写密集型应用。

  4. 空间利用率不同:MyISAM 不支持行级别的存储,存储空间利用率较低;而 InnoDB 支持行级别的存储,存储空间利用率更高。

    💧在选择 MyISAM 和 InnoDB 引擎时,需要考虑应用场景和需求:

  1. 如果应用主要是读操作,可以考虑选择 MyISAM 引擎,以提高读取性能。

  2. 如果应用主要是写操作或需要支持事务和外键约束,可以考虑选择 InnoDB 引擎,以保证数据的完整性和一致性。

  3. 如果需要高性能和高可用性,可以考虑选择使用 MySQL 集群或使用多个副本实例,并将数据分布在不同的节点上。

    💧总结:MySQL 支持多种存储引擎,MyISAM 和 InnoDB 是其中最常用的两种,它们有不同的特点和优缺点,在选择时需要根据应用场景和需求进行考虑和权衡。


🌊通俗讲解(版本一)

MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?

MySQL支持哪些存储引擎?

    💧MySQL 支持多种存储引擎,默认为 InnoDB。其中最常用的是 InnoDB 和 MyISAM,它们有以下区别:

  1. 事务支持:InnoDB 支持事务操作,而 MyISAM 不支持事务。
  2. 外键支持:InnoDB 支持外键,而 MyISAM 不支持外键。
  3. 锁定方式:InnoDB 支持行级锁和表级锁,而 MyISAM 只支持表级锁。
  4. 数据库崩溃恢复:InnoDB 支持数据库异常崩溃后的安全恢复(redo log),而 MyISAM 不支持。
  5. 性能比较:InnoDB 的性能较强,无论在读写混合模式下还是只读模式下,随着 CPU 核数的增加,InnoDB 的读写能力呈线性增长。而 MyISAM 因为读写不能并发,处理能力与核数无关。
  6. 索引实现方式:InnoDB 和 MyISAM 都使用 B+ 树来实现索引,但实现方式不同。

如何选择存储引擎?

在读密集的情况下,如果不需要事务支持,也不需要保证数据库的崩溃恢复,可以选择 MyISAM。在其他情况下,可以放心使用 InnoDB。

    💧《MySQL 高性能》一书中有这样的描述:

“不要轻易相信‘MyISAM 比 InnoDB 快’之类的经验之谈,这个结论往往不是绝对的。在很多我们已知场景中,InnoDB 的速度都可以让 MyISAM 望尘莫及,尤其是使用了聚簇索引,或者需要访问的数据都可以放入内存的应用。”


🌊通俗讲解(版本二)

    💧MySQL ⽀持多种存储引擎,每种存储引擎都有各⾃的优缺点。常⽤的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE。其中,InnoDB 是 MySQL 默认的存储引擎。可以使⽤命令 SHOW ENGINES 查看当前数据库⽀持的存储引擎。

SHOW ENGINES

MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?

MySQL支持的存储引擎的详细介绍:

  1. InnoDB:MySQL默认的存储引擎,支持事务、行级锁机制和外键约束。适合处理大量数据和高并发的应用场景,但对于频繁的全表扫描和大量的写操作,性能可能不如MyISAM。

  2. MyISAM:MySQL最早提供的存储引擎,不支持事务、行级锁机制和外键约束。但对于只读或者大量的查询操作,性能比InnoDB更好。

  3. Memory:这种类型的数据表只存在于内存中,使用散列索引,数据的存取速度非常快。由于存在于内存中,因此这种类型常应用于临时表中。

  4. Merge:将多个相同的MyISAM表合并为一个虚表,常应用于日志和数据仓库。

  5. Archive:适用于对于只偶尔需要查询的历史数据进行存储,将数据进行压缩存储,占用空间小,但不支持索引和更新操作。

  6. CSV:将数据以CSV格式存储,适合用于导入和导出数据。

  7. BLACKHOLE:这种存储引擎不实际存储数据,所有写入的数据都会被丢弃,但可以记录数据的写入日志。

    💧可以通过CREATE TABLE语句创建表时指定使用的存储引擎,例如:

CREATE TABLE table_name (column1 datatype, column2 datatype, ...) ENGINE = engine_name;

    💧以上是MySQL支持的存储引擎的介绍。根据不同的需求和应用场景,可以选择适合的存储引擎来优化数据库性能和功能。

CREATE TABLE mytable (id INT, name VARCHAR(20)) ENGINE=InnoDB;

    💧使⽤ SHOW CREATE TABLE 语句可以查看表的创建语句,其中包含了使⽤的存储引擎。例如:

SHOW CREATE TABLE mytable;

    💧输出结果中包含了 ENGINE=InnoDB。

存储引擎选择

    💧 InnoDBMyISAM是两种常见的存储引擎,它们之间有以下区别。选择存储引擎取决于应用程序的需求和特点:

  1. 事务支持:InnoDB支持事务处理,可以使用ACID(原子性、一致性、隔离性、持久性)来保证数据的完整性和一致性。而MyISAM不支持事务处理,不能保证数据的一致性。如果需要使用事务,应选择InnoDB。

  2. 锁机制:InnoDB采用行级锁定,只锁定需要修改的行,提高并发性能。而MyISAM采用表级锁定,会锁定整个表,如果多个用户同时访问一个表,就会出现互相等待的情况,降低并发性能。如果需要高并发性能,应选择InnoDB。

  3. 外键约束:InnoDB支持外键约束,可以通过外键约束实现关联查询和级联删除等功能。而MyISAM不支持外键约束。如果需要使用外键约束,应选择InnoDB。

  4. 性能:MyISAM在读取数据方面的性能表现较好,在大量读取的情况下效率更高。而InnoDB在处理事务和大量并发查询的情况下性能更好。选择存储引擎时需要根据应用程序的读写比例和并发性能的需求来选择。

  5. 其他特性:MyISAM支持全文搜索索引,而InnoDB不支持。MyISAM的表可以被压缩,而InnoDB的表不支持压缩。

    💧因此,在选择存储引擎时,需要根据应用程序的需求和特点进行选择。如果需要支持事务和外键约束,以及并发性能比较重要,应选择InnoDB。如果需要读取数据的性能比较重要,可以选择MyISAM。如果需要全文搜索索引或表压缩,应选择MyISAM

MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?


🐳结语

🐬初学一门技术时,总有些许的疑惑,别怕,它们是我们学习路上的点点繁星,帮助我们不断成长。

🐟积少成多,滴水成河。文章粗浅,希望对大家有帮助!文章来源地址https://www.toymoban.com/news/detail-491499.html

到了这里,关于MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java面经 MySQL 存储引擎--MyISAM和InnoDB的区别

    隔离级别 英文名称 含义 脏读 不 可 重 复读 幻读 未提交读 READ UNCOMMITTED 可读取其它事务未提交的结果 √ √ √ 提交读 READ COMMITTED 一个事务开始时,只能读到其他事务已经提交的修改。 例:如果A事务已经修改了XX,但还没提交,则B事务读XX时还是未修改的值。 ( Oracle等多

    2024年02月08日
    浏览(45)
  • MyISAM和InnoDB存储引擎的区别

    MyISAM和InnoDB是使用MySQL最常用的两种存储引擎, 在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。 存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。 MySQL的核心就是插件式存储引擎, 支持多

    2024年01月21日
    浏览(56)
  • MySQL架构 & InnoDB存储引擎

    我们在开发的时候,我们都需要对业务数据进行存储,这个时候,你们就会用到MySQL 、O racal 等数据库。 MySQL它是一个关系型数据库, 这种关系型数据库就有Oracal 、 MySQL,以及最近很火的PgSQL 等。 那什么是关系型数据库呢? 就是它是 基于我们的SQL语句去执行操作的 。 其实

    2024年02月07日
    浏览(55)
  • MySQL—MySQL的存储引擎之InnoDB

    存储引擎 说明 MyISAM 高速引擎,拥有较高的插入,查询速度,但不支持事务 InnoDB 5.5版本后MySQL的默认数据库存储引擎,支持事务和行级锁,比MyISAM处理速度稍慢 ISAM MyISAM的前身,MySQL5.0以后不再默认安装 MRG_MyISAM 将多个表联合成一个表使用,在超大规模数据存储时很有用 Me

    2024年04月26日
    浏览(43)
  • 谈谈MySQL的InnoDB存储引擎

    大家好,我是易安! 今天我们谈一谈MySQL中InnoDB存储引擎。InnoDB存储引擎作为我们最常用到的存储引擎之一,充分熟悉它的的实现和运行原理,有助于我们更好地创建和维护数据库表。 InnoDB主要包括了内存池、后台线程以及存储文件。内存池又是由多个内存块组成的,主要包

    2024年02月03日
    浏览(43)
  • MySQL 的 InnoDB 存储引擎简介

    MySQL 是世界上最流行的开源关系型数据库管理系统之一,而其中的存储引擎则是其关键组成部分之一。InnoDB 存储引擎在 MySQL 中扮演了重要角色,提供了许多高级功能和性能优化,适用于各种应用程序和工作负载。本文将深入介绍 InnoDB 存储引擎的各个方面,以帮助您更好地理

    2024年02月08日
    浏览(49)
  • 什么是聚簇索引和非聚簇索引?它们有什么区别?MySQL支持哪些存储引擎?

    聚簇索引(Clustered Index)和非聚簇索引(Non-clustered Index)是数据库中两种不同类型的索引结构,它们在存储和组织数据上有所不同。 聚簇索引: 聚簇索引是按照索引列的顺序重新组织数据的方式。它定义了表的物理排序方式,使得数据行按照索引列的顺序存储在磁盘上相邻

    2024年04月26日
    浏览(48)
  • MySQL高级10-InnoDB引擎存储架构

    表空间(Tablespace):一个mysql实例,及一个数据库实例,可以对应多个表空间(ibd文件),用于存储记录,索引等数据。 段(Segment):分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点(Leaf node segment),

    2024年02月08日
    浏览(46)
  • mysql--InnoDB存储引擎--架构和事务

    MySQL进阶篇 InnoDB 逻辑存储单元主层级关系图: 1、表空间 表空间是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在 8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。 2、段

    2024年02月14日
    浏览(48)
  • 【MySQL】 深入了解InnoDB存储引擎的限制

    目录 列数限制 索引数限制 InnoDB的行格式和索引限制 示例和注意事项 **页大小对索引键前缀长度的影响 **对全列索引键的限制 多列索引限制 行大小限制 InnoDB log限制 表空间大小限制 表数量限制 操作系统限制 文件大小和日志文件大小 文件层级限制 随着数据库技术的不断发

    2024年01月24日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包