查看当前版本数据库支持哪些存储引擎
show engines; -- 查看数据库支持哪些存储引擎
select version(); -- 查看数据库版本
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| MyISAM | YES | MyISAM 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 |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.23 |
+-----------+
1 row in set (0.00 sec)
注:
mysql支持九大存储引擎,默认存储引擎为InnoDB。
常用存储引擎介绍
1. MyISAM
- MyISAM 存储引擎是MySQL最常用的引擎。
- 它管理的表具有以下特征:
- 使用三个文件表示每个表
1> 格式文件 ---- 存储表结构的定义(mytable.frm)
2> 数据文件 ---- 存储表行的内容(mytable.MYD)
3> 索引文件 ---- 存储表上索引(mytable.MYI) - 灵活的 AUTO_INCREMENT字段处理
- 优点:由于表的格式、数据和索引都是一个个文件,所以可被转换为压缩、只读表来节省空间
- 缺点:不支持事务,安全性低。
- 使用三个文件表示每个表
2. InnoDB
- InnoDB 存储引擎是MySQL的默认存储引擎,也是一个重量级存储引擎。
- 它管理的表具有下列主要特征:
- 最主要的特点就是
非常安全 - 每个InnoDB 表在数据库目录中以 .frm 格式文件表示
- InnoDB 表空间 tablespace 被用于存储表的内容(表空间存储数据及索引)
- 提供一组用来记录事务性活动的日志文件
- 用 COMMIT、SAVEPOINT 及 ROLLBACK
支持事务处理,以保证数据的安全。 - 提供全 ACID 兼容
- 在 MySQL
服务器崩溃后提供自动恢复 - 多版本并发控制(MVCC)来支持高并发和行级锁定
- 缺点:效率较低。不能压缩和转换为只读,不能很好的节省存储空间
- 最主要的特点就是
3. MEMORY
- 使用 MEMORY 存储引擎的表,其数据存储在内存中,且行的长度固定,这两点使 MEMORY 存储引擎非常快。
- 它管理的表具有以下特征:
- 在数据库目录内,每个表均已 .frm 格式的 文件表示
表数据及索引被存储在内存中。- 表级锁机制
- 不能包含 TEXT 或 BLOB 字段
- 优点:查询效率最高
- 缺点:不安全,关机后数据消失
- MEMORY存储引擎以前被称为 HEAP 引擎。
本文介绍了MySQL数据库的九种存储引擎,包括MyISAM、InnoDB、MEMORY等,并重点讲述了它们的特点、优缺点。了解了默认引擎InnoDB的事务支持和安全性,以及MEMORY引擎的高效查询。
247

被折叠的 条评论
为什么被折叠?



