MySQL 的存储引擎

InnoDB: 高可靠高性能的通用引擎

MyISAM: 适合于读写密集型引擎

MEMORY: 内存引擎

CSV: 纯文本引擎

ARCHIVE: 存档引擎

BLACKHOLE: “黑洞”引擎

MERGE: MyISAM聚合引擎

FEDERATED: “远程”引擎

PERFORMANCE_SCHEMA引擎: “服务器监控”引擎



SHOW ENGINES  ​语句查看可用的MySQL存储引擎. 

引擎

支持

描述

事务

XA

Savepoints

MRG_MYISAM

YES

Collection of identical MyISAM tables

NO

NO

NO

CSV

YES

CSV storage engine

NO

NO

NO

InnoDB

DEFAULT

Supports transactions, row-level locking, and foreign keys

YES

YES

YES

BLACKHOLE

YES

/dev/null storage engine (anything you write to it disappears)

NO

NO

NO

MyISAM

YES

MyISAM storage engine

NO

NO

NO

PERFORMANCE_SCHEMA

YES

Performance Schema

NO

NO

NO

ARCHIVE

YES

Archive storage engine

NO

NO

NO

MEMORY

YES

Hash based, stored in memory, useful for temporary tables

NO

NO

NO

FEDERATED

NO

Federated MySQL storage engine

自5.5版本(2010年7月)  InnoDB 是默认的存储引擎. (之前是MyISAM).

InnoDB: 高可靠高性能的通用引擎

  • MVCC
  • 遵循ACID模型, 支持事务
  • 行锁
  • 外键
  • 具有崩溃恢复能力

MyISAM: 适合于读写密集型引擎

  • 没有MVCC,批量插入效率更高
  • 表锁, 读取速度更快
  • 没有外键
  • 不支持事务
  • 适用只读查询操作较多的场景、需要快速查询和报告的数据仓库和报表场景

        在MySQL 8.0之前,MyISAM的批量插入效率明显优于InnoDB, 因为MyISAM没有MVCC,也不保证持久性。

使用MySQL 8.0,InnoDB可以选择禁用持久性,禁用redo-logs,提高批量插入效率。

MEMORY: 内存引擎

  • 快速访问和低延迟
  • 表锁
  • 不支持事务
  • 易丢失

        顾名思义内容储存在内存里, 由于数据在内存中,具有快速访问的优势,易丢失的劣势,所以一般做临时表、缓存表使用.

CSV: 纯文本引擎

  • 轻量的数据存储(类似sqllite)
  • 逗号分隔值格式将数据存储在文本文件中,文件的名称为:表名.CSV。
  • 可以通过Excel等读写。

ARCHIVE: 存档引擎

  • Zlib无损数据压缩存储,用很小的空间存大量数据
  • 行锁
  • 不支持delete或update

BLACKHOLE: “黑洞引擎

  • 接受数据,但将其扔掉,不存储数据。检索总是返回一个空结果

检察sql语法正确性?, 日志记录插入操作? 我不知道有什么用….

MERGE: MyISAM聚合引擎

  • 可以聚合表的结构相同的 MyISAM表、作为一个表使用,方便操作
  • 可以按某个属性将一个大表拆分成多个小的只读表, 小表查询速度快、便于维护

FEDERATED: “远程引擎

  • 本地只存表机构不存数据、访问时从远程表获取数据
  • 远程的数据库必须是MySQL服务器
  • 不支持事务
  • 不支持ALTER TABLE, DROP TABLE只会丢弃本地表,而非远程表。
  • 无法感知远程表变化
  • 批量插入将分批发送远程表从而提高性能

        从远程MySQL数据库访问数据,而无需使用复制或集群技术。查询本地FEDERATED表会自动从远程(联合)表中提取数据。本地表上没有存储任何数据。

PERFORMANCE_SCHEMA引擎: “服务器监控引擎

  • 使用服务器源代码中的“仪器点”收集事件数据。
  • 收集的事件存储在performance_schema数据库的表中。可以使用SELECT语句查询这些表
  • 使用内存表。内容从服务器启动开始填充,并在服务器关闭时丢弃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值