MySQL - MySQL 常用存储引擎简介
# 前言
存储引擎在MySQL底层以组件的形式提供,不同的存储引擎提供的存储机制、索引的存放方式和锁粒度等均不相同。 存储引擎基于数据表, 而不是基于数据库, 请根据业务需求为数据表选择最优的存储引擎。 创建新表时, 如果不指定存储引擎, 则使用默认的存储引擎。 MySQL5.5 之前默认存储引擎为 MyISAM, MySQL5.5 之后默认存储引擎为 InnoDB。
查看当前 MySQL 支持的存储引擎
show engines;
一、MySQL常用引擎
MySQL 常用引擎有 : InnoDB、MyISAM、MEMORY、ARCHIVE、CSV。 以下简单介绍一下, 其他的知识, 请移步 。
1.1 InnoDB
InnoDB 是一种兼顾高可靠性和高性能的通用存储引擎。具有提交、回滚和崩溃恢复功能的事务以保护用户数据。
InnoDB 主要特性: 支持事务 行级锁机制, 支持更高的并发 外键约束 能够通过二进制日志恢复数据
1.2 MyISAM
MyISAM 主要特性: 不支持事务 表级锁 不支持外键约束 支持全文索引 访问速度快
1.3 MEMORY
Memory 使用 hash 索引, 将表数据存放于内存中, 受到不可控影响, 数据容易丢失, 所以主要用于 临时表或缓存。
MEMORY 主要特性: 不支持 TEXT 和 BLOB 类型, 只支持固定长度的字符串类型。比如: 将 varchar 自动转为 char。 表级锁 通常作为临时表使用
1.4 ARCHIVE
Archive 只支持 select 与 insert 语句。
ARCHIVE 主要特性: 支持数据压缩, 在存储数据前会对数据压缩处理 只支持在整数自增类型的字段上添加索引
1.5 CSV
CSV 主要存储的是 .csv 格式的文本数据, 可以直接打开存储的文件进行编辑。
CSV 主要特性: 可将数据表中的数据直接导出为 .csv 文件, 也可将 .csv 文件导入数据表中。
下一篇:
推荐一款MySQL优化工具