🗒️Day53 【概念解析】MySQL存储引擎
00 分钟
2023-11-13
2023-11-15
type
status
date
slug
summary
tags
category
icon
password

MySQL存储引擎概述

存储引擎是MySQL的组件,用于处理不同表类型的SQL操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。
使用哪一种引擎可以灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能 。
MySQL服务器使用可插拔的存储引擎体系结构,可以从运行中的 MySQL 服务器加载或卸载存储引擎 。
 
MySQL中的存储引擎决定了数据库如何存储数据、如何为数据建立索引以及如何进行数据的插入、查询、更新和删除操作。以下是一些常见的MySQL存储引擎:
  1. InnoDB:这是MySQL的默认存储引擎,它提供了诸如事务支持、行级锁定、外键约束、MVCC(多版本并发控制)等高级功能。InnoDB引擎特别适合处理大量的读写操作的应用。
  1. MyISAM:这是MySQL的另一种存储引擎,它提供了全文搜索和压缩等功能,但不支持事务和行级锁定。MyISAM引擎特别适合用于读取操作远多于写入操作,或者不需要事务支持的应用。
  1. Memory:这种存储引擎将所有数据存储在内存中,因此数据的读写速度非常快。但是,如果MySQL服务器重启,所有的数据都会丢失。Memory引擎适合用于存储临时数据的临时表。
  1. CSV:这种存储引擎将数据存储在CSV文件中。CSV引擎允许用户直接使用CSV文件,而无需进行导入/导出操作。
  1. Archive:这种存储引擎用于存储和检索大量的归档数据。Archive引擎支持高速的插入操作,但不支持索引。
  1. Federated:这种存储引擎允许MySQL服务器将一张表的数据存储在远程的另一台MySQL服务器上,就像它就在本地一样。
  1. Blackhole:这种存储引擎不会存储任何数据,但会记录所有的数据更改操作。Blackhole引擎主要用于在复制过程中记录二进制日志。
  1. NDB或NDBCLUSTER:这是一个分布式存储引擎,用于创建冗余数据存储,以实现高可用性。
每种存储引擎都有其特定的用途,选择哪种存储引擎取决于你的特定需求。

存储引擎对比

存储引擎
事务支持
锁定粒度
是否支持全文索引
是否支持外键
是否支持哈希索引
数据存储方式
适用场景
InnoDB
行级
磁盘
大量读写操作,需要事务支持
MyISAM
表级
磁盘
读操作多于写操作,不需要事务支持
Memory
表级
内存
存储临时数据,需要快速读写
CSV
行级
磁盘
数据交换,可以直接用文本编辑器查看和编辑数据
Archive
行级
磁盘
存储和检索大量的归档数据
Federated
表级
磁盘
数据分布在不同的MySQL服务器上
Blackhole
表级
记录所有的数据更改操作,主要用于复制
NDB
行级
磁盘
创建冗余数据存储,实现高可用性
📌
快速跳转链接
【概念解析】启动
【概念解析】Day 1 - 10
【概念解析】Day 11 - 20
【概念解析】Day 21 - 30
【概念解析】Day 31 - 40
【概念解析】Day 41 - 50
【概念解析】Day 51 - 60
【概念解析】Day 61 - 70
【概念解析】Day 71 - 80
【概念解析】Day 81 - 90
 
上一篇
Day54 【概念解析】MyISAM
下一篇
Day52【概念解析】MySQL架构

评论
Loading...