`
SIHAIloveYAN
  • 浏览: 119329 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

InnoDB与MyISAM等存储引擎对比

    博客分类:
  • java
阅读更多

文章原文:blog.ouyangsihai.cn >> InnoDB与MyISAM等存储引擎对比

InnoDB存储引擎介绍

InnoDB引擎是Mysql的默认的存储引擎,他有很多自己的特性,下面一一列举。

  • 支持事务,InnoDB存储引擎主要就是为了在线事务处理(OLTP)的应用而设计的。
  • 行锁设计,支持外键,非锁定读。
  • 支持多版本的并发控制(MVCC)来获得高并发性。
  • 提供了插入缓冲、二次写、自适应哈希索引、预读等高性能和高可用的功能。

上面这些算是 InnoDB 存储引擎的一些特点了,也是它的优势所在,为什么 InnoDB 引擎会使用如此广泛,就是因为它能有很好的性能。

MyISAM储存引擎介绍

  • 不支持事务,它的设计目标是面向在线分析的应用(OLAP)。
  • 支持全文索引。
  • 表锁设计
  • 它的缓冲池只缓冲索引文件不缓冲数据文件,所以 MyISAM 存储引擎表由 MYDMYI 组成,前者存储数据文件,后者存储索引文件。

存储引擎之间的对比

这一部分,主要简要的介绍一下各个存储引擎之间的差别,及主要的作用及特点。

特性对比

特性 MyISAM InnoDB BDB Memory Archive NDB
存储限制 64TB
事务   支持 支持      
锁级别 表锁 行锁 page
MVCC(并发控制)   支持     支持 支持
全文索引 支持          
集群索引   支持        
数据缓存和索引缓存   支持   支持   支持
数据压缩 支持       支持  
批量插入速度 很高
集群数据库支持           支持
外键支持   支持        
适用场景 不需要事务的操作;插入、更新少,读取频繁;频繁的统计计算。 需要事务的操作;更新数据需要使用行级锁;大数据量读写;大型互联网应用。 类似 InnoDB 数据量不大,需要被频繁的访问,而且数据丢失不会对业务产生比较严重的影响。 存储引擎基本上用于数据归档,作为日志表 集群

存储引擎特性介绍

存储引擎 主要特点
BDB 可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性
Memory 数据存储在内存中,重启或崩溃,数据消失,使用哈希索引
Archive 只支持Insert和Select操作,支持索引,非常适合存储归档数据, 目标:高速插入和压缩功能
NDB 集群存储引擎,数据全部放在内存中,高可用、高性能的集群系统
Federated 不存放数据,只是指向一台远程MySQL数据库服务器上的表
Maria 新开发引擎,用于取代MyISAM存储引擎。 支持事务和非事务、缓存、索引文件、行锁、MVCC功能

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号好好学java,获取优质学习资源。

0
0
分享到:
评论

相关推荐

    MyISAM引擎与InnoDB引擎性能的对比

    MySQL数据库系统提供了多种存储引擎,其中最常用的两种是MyISAM和InnoDB。它们各自具有独特的特性和适用场景,理解二者的性能差异对于优化数据库设计至关重要。 MyISAM引擎是MySQL早期的默认存储引擎,以其高速度和...

    8.MySQL存储引擎--MyISAM与InnoDB区别1

    MySQL存储引擎--MyISAM与InnoDB区别 MySQL是一种关系型数据库管理系统,它支持多种存储引擎,每种存储引擎都有其特点和优缺。MyISAM和InnoDB是MySQL中最常用的两种存储引擎,它们都有其优缺点,本文将对比MyISAM...

    mySql 存储引擎 启用 Innodb

    - **行级锁定**:相比MyISAM存储引擎的表级锁定机制,InnoDB采用行级锁定策略,可以显著提高多用户并发操作时的效率。 - **外键约束**:InnoDB支持外键约束,这对于维护数据完整性非常重要。 - **缓冲池**:InnoDB...

    数据库引擎 MyISAM 和 InnoDB 对比

    在MySQL数据库系统中,MyISAM与InnoDB是最常被提及的两种存储引擎。这两种引擎在功能、性能以及适用场景上存在显著差异,本文将深入探讨这两者之间的区别,并分析它们各自的优势及应用场景。 #### 一、基本概念 - ...

    mysql存储引擎介绍

    但是对比 MyISAM 的存储引擎,InnoDB 写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。 InnoDB 表的自动增长列可以手工插入,但是插入的如果是空或 0,则实际插入到则是自动增长后到值。可以通过 ...

    Innodb存储引擎浅析—事务系统

    - **InnoDB与MyISAM索引对比**:InnoDB的索引结构更加复杂,支持更多的高级功能。 #### 事务案例分析 **案例一**:假设有一个事务需要执行一个UPDATE语句,修改`test`表中`id=47`的记录的`v`字段值为18(原值为8)...

    MySQL存储引擎中MyISAM和InnoDB区别详解

    MyISAM和InnoDB是MySQL中两种最常使用的存储引擎,它们各有特点,适用于不同的应用场景。 1. **事务处理**: - **InnoDB** 支持ACID(原子性、一致性、隔离性、持久性)事务,提供事务安全,适合需要事务处理的...

    myisam innodb对比1

    ### MyISAM与InnoDB对比分析 #### 一、数据存储区别 - **堆表**:数据无序存储,适用于不频繁更新的情况。 - **索引组织表**:表的数据和索引紧密关联,通常主键就是数据的物理排列顺序。 **MyISAM**: - 属于堆...

    MySQL存储引擎中的MyISAM和InnoDB区别详解

    MySQL存储引擎中的MyISAM和InnoDB是两种最常见的选择,它们各自有独特的特性和适用场景。以下是关于这两种存储引擎的详细对比: 1. **存储结构**: - MyISAM:每个表由三个文件组成,分别是`.frm`(表定义)、`....

    深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较

    MySQL数据库提供了多种存储引擎,其中MyISAM和InnoDB是最为常见的两种。本文将对这两个存储引擎进行深入的对比分析,以帮助读者更好地理解它们的特性和适用场景。 首先,MyISAM是MySQL的默认存储引擎,它源自于传统...

    MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是IndexedSequentialAccessMethod(有索引的顺序访问方法)的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,...

    MySQL Innodb 索引原理详解

    尽管本篇主要讨论InnoDB存储引擎,但仍值得简要提及InnoDB与之前的默认存储引擎MyISAM之间的区别: - **事务处理**:InnoDB支持事务处理,而MyISAM不支持。 - **行级锁定**:InnoDB支持行级锁定,提高了并发性能。 ...

    mysql存储引擎比较

    #### 二、MyISAM存储引擎 **2.1 MyISAM简介** MyISAM是一种非事务性的存储引擎,广泛应用于Web应用、数据仓库等场景。它是MySQL早期版本中最常用的存储引擎之一,尤其适用于读取密集型的应用环境。 **2.2 特性与...

    alienxcn#ZXBlog#MYSQL存储引擎1

    // 查看默认的存储引擎演示:关于MyISAM和InnoDB的简单对比:问:MyISAM和InnoDB引擎的区别MyISAM 是非事务安全型的,而 InnoDB

    MySQL优化教程文档.pdf

    从提供的文件内容来看,这篇文档主要涉及了MySQL数据库的安装、配置以及优化技巧,特别强调了InnoDB与MyISAM存储引擎的使用和对比。接下来,我将围绕这些知识点展开详细介绍。 首先,文档中出现了很多关于MySQL的...

    【MySQL】存储引擎(六).pdf

    #### 三、存储引擎对比与选择 | 特性 | InnoDB | MyISAM | Memory | |--------|------------|-----------|----------| | 存储限制 | 64TB | 有 | 有 | | 事务安全 | 支持 | × | × | | 锁机制 | 行锁 | 表锁 | ...

    mysql循环添加数据(存储详细)

    此外,还将对比分析不同存储引擎(MyISAM与InnoDB)在执行批量数据插入时的性能差异。 ### 一、创建数据库与表 首先,创建名为`mysqlsystems`的数据库,并在该数据库中创建两个表:`myisam`与`innodb`。这两个表...

    MySQL数据库三种常用存储引擎特性对比

    本篇文章主要探讨了MySQL中的三种常用存储引擎:MyISAM、InnoDB和NDBCluster,它们各自拥有独特的特性和适用场景。 首先,MyISAM是MySQL早期的默认存储引擎,它具有以下特性: 1. 不支持事务处理,这意味着MyISAM...

Global site tag (gtag.js) - Google Analytics