首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

Mysql 储存引擎

2013-03-06 
Mysql 存储引擎MySQL支持的存储引擎包括MyISAM,InnoDB,BDB,MEMORY,MERGE,EXAMPLE,NDB Cluster,ARCHIVE,CSV

Mysql 存储引擎
MySQL支持的存储引擎包括MyISAM,InnoDB,BDB,MEMORY,MERGE,EXAMPLE,NDB Cluster,ARCHIVE,CSV,BLACKHOLE,FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。查看默认存储引擎,可以使用以下命令:

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

热点排行