mysql - 什么是 MySQL 数据库引擎?

标签 mysql database storage innodb database-engine

我环顾四周,发现一些 MySQL 引擎是 innodb 和 MyISAM。也许还有一些。我的问题是这些数据库引擎是什么?

不同的MySQL引擎有什么区别?更重要的是,我如何决定使用哪一个?

最佳答案

mysql> SHOW ENGINES;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV 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                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+

如果我必须使用 MySQL,我个人总是使用 InnoDB。它支持事务和外键,而 MyISAM 不支持。

关于mysql - 什么是 MySQL 数据库引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233816/

相关文章:

mysql - 从 XAMPP 导出 MySQL 数据库

database - 良好的双语网站数据库设计 : booleans vs meta tables?

objective-c - Objective C 属性变量和非属性变量的存储

android - 在android中没有网络访问时在本地存储数据

asp.net-mvc - 如何在 Azure-AD 中存储用户首选项?

mysql - 在 C 中追加或创建文件时如何请求连续 block (非碎片)?

mysql - Talend 和字符编码

mysql - "If value exists in table"- 有这样的东西吗?

mysql - 有没有其他方法可以在 Sql 中使用 Alias?

sql-server - 更新 View 不​​起作用