InnoDB和MyISAM存储引擎的区别

InnoDB存储引擎

InnoDB是一个事务型的存储引擎,设计目标是处理大数量数据时提供高性能的服务,它在运行时会在内存中建立缓冲池,用于缓冲数据和索引。

InnoDB优点

1.支持事务处理、ACID事务特性;

2.实现了SQL标准的四种隔离级别;

3.支持行级锁和外键约束;

4.可以利用事务日志进行数据恢复。

InnoDB缺点

1.不支持FULLTEXT类型的索引,因为它没有保存表的行数,当使用COUNT统计时会扫描全表。

InnoDB适用场景

1.需要事务的操作;

2.更新数据需要使用行级锁;

3.大数据量读写;

4.大型互联网应用。

MyISAM存储引擎

MyISAM是MySQL默认的引擎,它的设计目标是快速读取。

MyISAM优点

1.高性能读取;

2.因为它保存了表的行数,当使用COUNT统计时不会扫描全表;

MyISAM缺点

1.不支持数据库事务;

2.不支持行级锁和外键;

3.INSERT和UPDATE操作需要锁定整个表;

4.不支持故障恢复;

MyISAM适用场景

1.不需要事务的操作;

2.插入、更新少,读取频繁;

3.频繁的统计计算。

原文地址:https://www.cnblogs.com/AllIhave/p/11881118.html

时间: 2024-08-08 20:41:56

InnoDB和MyISAM存储引擎的区别的相关文章

mysql InnoDB 和 Myisam 存储引擎的区别

1. InnoDB 支持事物,Myisam 不支持事物 2. InnoDB 是行级锁,Myisam 表级锁 3. InnoDB 不支持全文索引,Myisam 支持全文索引,但不支持外键 4. InnoDB 在磁盘上是两个文件,Myisam 是三个文件 5 myISAM管理非事务表.它提供高速存储和检索,以及全文搜索能力.如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择 6InnoDB用于事务处理应用程序,具有众多特性,包括ACID事务支持.如果应用中需要执行大量的INSER

innodb和myisam存储引擎插入速度

--innodb和myisam存储引擎插入速度 ------------------------------------2014/05/21 MySQL 5.6 全部默认设置,插入数据9999条,性能一般的虚拟机. mysql> delete from test; Query OK, 10000 rows affected (0.54 sec) mysql> alter table test engine=myisam; Query OK, 0 rows affected (0.15 sec)

第二课——解析mysqldump命令和mysqlbinlog命令+innodb和Myisam存储引擎简介

环境说明 mysql版本:Percona-Server-5.6.30 IP:10.7.15.167 端口:3306 安装目录:/httx/run/mysql 数据目录:/httx/run/mysql/data/ mysqldump的常用参数 mysqldump测试--–研究加–single_transaction参数的区别 开启general_log日志,跟踪mysql操作日志 (general_log日志可以方便跟踪所有mysql上的操作,但是生产环境不建议开启,占用资源.消耗内存) mysq

MySQL InnoDB与MyISAM存储引擎差异

前言: 之前简单介绍过 MySQL 常用的存储引擎,今天对两个主流的存储简单分析下差异,书上没有参考的笔试题解答注解: 差异: MyISAM 只支持表锁,不支持事务,表损坏率较高.较老的存储引擎. 它分为2种类型的文件:以 MYD 作为后缀名的数据文件和以 MYI 作为后缀名的索引文件. MyISAM 读写并发不如 InnoDB,适用于INSERT较多的场景,且支持直接复制文件,用以备份数据, 是 MySQL 公司开发的,物理文件主要有数据文件,日志文件和索引文件,并且这三个文件是单独存在. I

MySQL数据库MyISAM存储引擎转为Innodb

MySQL数据库MyISAM存储引擎转为Innodb 之前公司的数据库存储引擎全部为MyISAM,数据量和访问量都不是很大,所以一直都没什么问题.但是最近出现了MySQL数据表经常被锁的情况,直接导致了用户连接网站时超时而返回502,于是决定把存储引擎转为Innodb的,以解决MyISAM的表锁问题.下面将操作步骤记录一下. 1.导出centos数据库的表结构 mysqldump -d -uxxx -p centos > centos_table.sql 其中-d参数表示不导出数据,只导出表结构

MySQL存储引擎的区别

一.mysql中myisam,innodb和memory三个存储引擎的区别 1.区别:1) MyISAM管理非事务表.提供高速存储和检索,以及全文搜索能力.MyISAM在所有MySQL配置里被支持,是默认的存储引擎,除非配置MySQL默认使用另外一个引擎. 2)MEMORY存储引擎提供“内存中”表.MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表.就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中.注释:MEMORY存

(MariaDB/MySQL)MyISAM存储引擎读、写操作的优先级

MariaDB/MySQL中使用表级锁的存储引擎(例如MyISAM.Aria(MariaDB对MyISAM引擎的改进,前身是MyISAM))在读(select).写操作(insert.delete.update.replace)上有优先级的概念.默认情况下,写操作的优先级高于读操作.注:不适用于InnoDB存储引擎. 以MyISAM为例.当有进程正在写MyISAM表的时候,又有新的读操作.写操作出现,则会先执行完所有的写操作,等写完后才会读表.实际上并非总是先执行完所有写操作,因为有系统变量ma

MyISAM存储引擎

每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型..frm文件存储表定义.数据文件的扩展名为.MYD (MYData).索引文件的扩展名是.MYI (MYIndex). 要明确表示你想要用一个MyISAM表格,请用ENGINE表选项指出来: CREATE TABLE t (i INT) ENGINE = MYISAM; 如下是MyISAM存储引擎的一些特征: ·         所有数据值先存储低字节.这使得数据机和操作系统分离.二进制轻便性的唯一要求是

InnoDB多版本存储引擎简介

SHOW ENGINES查看所有存储引擎及支持情况 当启动InnoDB的时候,会自动进行兼容性检查 ACID 模型Atomicity主要与事务操作相关,autocommit.Commit.rollbackConsistency用于保护数据的引擎内部处理程序,包括doublewrite buffer.crash recoveryIsolation主要与事务操作相关,autocommit.isolation level .lockingDurability主要涉及mysql 软件与一些特定硬件的配置