您的位置:首页 > 数据库

数据库存储引擎

2014-10-22 08:42 411 查看
MySQL中提到了存储引擎这个概念。简而言之,存储引擎就是表的类型。数据库的存储引擎决定了表在计算机中的存储方式。

SHOW ENGINES语句可以查看MySQL数据库支持的存储引擎。

InnoDB存储引擎

InnoDB存储引擎给MySQL的表提供了事物,回滚,崩溃修复和多版本并发控制的事物安全。InnoDB是MySQL上第一个提供了外键约束的表引擎。而且InnoDB对事务处理的能力,也是其他存储引擎无法比拟的。

InnoDB存储引擎支持外键FOREIGN KEY。外键所在的表为子表,外键所依赖的表为父表。父表中被子表外键关联的字段必须为主键。当删除,更新父表的某条信息时,子表也必须有相应的改变。

InnoDB创建的表的结构存储在.frm文件中。

InnoDB存储引擎的优势就在于提供了良好的事务管理,崩溃修复等功能。缺点就是读写效率稍差,占用的数据空间相对比较大。

MyISAM存储引擎

MyISAM曾经是MySQL的默认存储引擎。它将表存储成为3个文件。文件的名字与表的名字相同。扩展名包括frm,NYD,MYI。其中frm文件存储表的结构;NYD文件存储表的数据;MYI文件存储表的索引。

它的优点是占用空间小,处理速度快。缺点是不支持事务的完整性和并发性。

Memory存储引擎

使用存储在内存中的内容来创建表,而且所有数据也放在内存中。每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm类型。该文件值存储表的结构。而其数据文件,都是存储在内存中的。这样有利于数据的快速处理,提高整个表的处理效率。服务器要有足够的内存来为止MEMORY存储引擎表的使用。

MEMORY存储引擎默认使用HASH索引。其速度要比B树快。

分类: MySQL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: