MySQL支持的存储引擎包括MyISAM,InnoDB,BDB,MEMORY,MERGE,EXAMPLE,NDB Cluster,ARCHIVE,CSV,BLACKHOLE,FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。查看默认存储引擎,可以使用以下命令:
mysql> show engines \G;
*************************** 1. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
省略之
第二种方法:
mysql> show variables like 'have%';
+----------------------+----------+
| Variable_name | Value |
+----------------------+----------+
| have_compress | YES |
| have_crypt | YES |
| have_csv | YES |
| have_dynamic_loading | YES |
| have_geometry | YES |
| have_innodb | YES |
| have_ndbcluster | NO |
| have_openssl | DISABLED |
| have_partitioning | YES |
| have_profiling | YES |
| have_query_cache | YES |
| have_rtree_keys | YES |
| have_ssl | DISABLED |
| have_symlink | YES |
+----------------------+----------+
14 rows in set (0.01 sec)
特点 MyISAM InnoDB |
存储限制 有 64TB |
事务安全 支持 |
锁机制 表锁 行锁 |
全文索引 支持 |
支持外键 支持 |
MyISAM是MySQL的默认存储引擎,不支持事务、也不支持外键,其优势是访问速度快,对事务完整性没有要求或者以SELECT、INSERT 为主的应用基本上都可以使用这个引擎来创建表。
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
如何选择合适的存储引擎?
- MyISAM:如果应用是以读操作和插入操作为主,只有更少的更新和删除操作,并且对事务的完整性、并发性要求不是很高,那么选择这个存储引擎是非常合适的。
- InnoDB:用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询以外,还包括很多的更新、删除操作,那么InnoDB存储引擎应该是比较合适的选择。
参考书籍:
深入浅出MySQL
分享到:
相关推荐
MySQL体系结构 MySQL存储引擎 InnoDB存储引擎
mysql存储引擎(csdn)————程序
第6章MySQL存储引擎与数据库.docx
mySql 存储引擎 启用 Innodb
MySQL内部存储引擎介绍,两大类引擎InnoDB和MyISM介绍
mysql存储引擎是mysql组件中的一部分,而MySQL组成是由、管理工具、连接池、SQL接口、分析器、优化器、缓存、存储引擎、硬盘组成的,而mysql存储引擎就是mysql组成中的一个功能模块,存储引擎属于表的处理器
详细介绍了mysql的四种引擎的区别和各自的优势 和使用引擎的环境
Mysql 存储引擎和索引揭秘 ,都是非常重要的概念,面试会问到
mysql存储引擎比较
Cantian connector (MySQL版)是由华为研发的一款MySQL存储引擎插件。它能够在无侵入的情况下将16个(或更多)MySQL实例组成一个多读多写的应用透明集群,并借助Cantian数据存储引擎提供更高的OLTP性能以及更强的高可...
MySQL课程之MySQL存储引擎入门 MySQL 支持多种存储引擎,目前的存储引擎有 MyISAM 、 InnoDB 、 BDB 、 Memory 、 Merge 、 Archive 、 Federated 、 BLACKHOLE 、 Cluster/NDB 、 CSV 、 Example 等。其中, InnoDB...
mysql-存储引擎
MySQL存储引擎学习
而MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎,MySQL的核心就是存储引擎。 ;MySQL 5.7支持的存储引擎有:InnoDB、MyISAM、...
MySQL存储引擎源码学习
MYSQL存储引擎的选择
MySQL2:四种MySQL存储引擎.doc
MySQL存储引擎与数据库性能.pdf
如何选择合适的MySQL存储引擎