首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL存储引擎

MySQL存储引擎

作者头像
从大数据到人工智能
发布2022-01-18 18:08:58
发布2022-01-18 18:08:58
3.6K0
举报
文章被收录于专栏:大数据-BigData大数据-BigData

数据库存储引擎是数据库管理系统用于从数据库进行增删改查数据的底层软件组织。不同存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。

在MySQL 5.5.5以后,InnoDB作为其默认存储引擎。支持事务安全表(ACID)、支持行锁定和外键。

查看存储引擎

MySQL提供了多种不同的存储引擎,具体可通过如下命令进行查看:

代码语言:javascript
复制
SHOW ENGINES;Copy

结果:

代码语言:javascript
复制
mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+Copy

Support列表示某种引擎是否能用。

存储引擎的选择

不同存储引擎有不同的特点,以适应不同的需求。具体比较如下图所示:

功能

MyISAM

MEMORY

InnoDB

Archive

存储限制

256TB

RAM

64TB

None

支持事务

N

N

Y

N

支持全文索引

Y

N

N

N

支持树索引

Y

Y

Y

N

支持哈希索引

N

Y

N

N

支持数据缓存

N

N

Y

N

支持外键

N

N

Y

N

InnoDB在提供提交、回滚和恢复的事务安全(ACID兼容)以及实现并发控制方面有良好的表现。

MyISAM主要用于数据表的插入、查询。

MEMORY引擎则适用于临时存放数据、数据量不大的情况。

Archive支持高并发的插入,但是本身并不是事务安全的。适用于存储归档数据。

温馨提示 一个数据库中的多个表可以使用不同的引擎以满足各种性能和实际需求,可灵活选择。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看存储引擎
  • 存储引擎的选择
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档