java面试题网

普通会员

183

帖子

7

回复

89

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5043| 回复: 0

mysql常用的存储引擎

mysql常用的存储引擎

MyISAM存储引擎

  • MyISAM存储引擎是MySQL最常用的引擎。
  • 它管理的表具有以下特征: 使用三个文件表示每个表: 格式文件 — 存储表结构的定义(mytable.frm) 数据文件 — 存储表行的内容(mytable.MYD) 索引文件 — 存储表上索引(mytable.MYI) 灵活的AUTO_INCREMENT字段处理 可被转换为压缩、只读表来节省空间

 

InnoDB存储引擎

  • InnoDB存储引擎是MySQL的缺省引擎。
  • 它管理的表具有下列主要特征: 每个InnoDB表在数据库目录中以.frm格式文件表示 InnoDB表空间tablespace被用于存储表的内容 提供一组用来记录事务性活动的日志文件 用COMMIT(提交)、SAVEPOINT及ROLLBACK(回滚)支持事务处理 提供全ACID兼容 在MySQL服务器崩溃后提供自动恢复 多版本(MVCC)和行级锁定 支持外键及引用的完整性,包括级联删除和更新

 

MEMORY存储引擎

  • 使用MEMORY存储引擎的表,其数据存储在内存中,且行的长度固定,这两个特点使得MEMORY存储引擎非常快。
  • MEMORY存储引擎管理的表具有下列特征: 在数据库目录内,每个表均以.frm格式的文件表示。 表数据及索引被存储在内存中。 表级锁机制。 不能包含TEXT或BLOB字段。
  • MEMORY存储引擎以前被称为HEAP引擎。

 

选择合适的存储引擎

  • MyISAM表最适合于大量的数据读而少量数据更新的混合操作。MyISAM表的另一种适用情形是使用压缩的只读表。
  • 如果查询中包含较多的数据更新操作,应使用InnoDB。其行级锁机制和多版本的支持为数据读取和更新的混合操作提供了良好的并发机制。

可使用MEMORY存储引擎来存储非永久需要的数据,或者是能够从基于磁盘的表中重新生成的数据。


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1070_1_1.html

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018