MySQL存储引擎简介

本文简单介绍下MySQL的存储引擎。

在讲清楚什么是存储引擎之前,我们先来个比喻,我们都知道录制一个视频文件,可以转成不同的格式如mp4,avi,wmv等,而存在我们电脑的磁盘上也会存在不同类型的文件系统中,如windows里面常见的ntfs,fat32,存在Linux里常见的ext3,ext4,nfs。但是,给我们用户看到实际视频内容都是一样的。直观区别是,占用系统的空间大小与清晰程度可能不一样。

那么,数据库表里的数据存储在数据库里及磁盘上和上述的视频格式以及存储磁盘文件系统格式特征类似,也有很多存储方式。

但是,对于用户和应用程序来说同样一张表的数据,无论用什么引擎来存储,用户看到的数据都是一样的。不同的引擎存储,引擎功能,占用的空间大小,读取性能等可能有区别。

MySQL最常用存储引擎为:MyISAM和InnoDB。

全文索引:目前5.5版本,MyISAM和InnoDB都已经支持。

MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。

在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。

MySQL 5.5支持的存储引擎有:InnoDB, MyISAM, Memory, Merge, Archive, Federated, CSV, BLACKHOLE等。可以使用SHOW ENGINES语句来查看系统所支持的引擎类型。

Support列的值表示某种引擎是否能使用:YES表示可以使用,NO表示不能使用,DEFAULT表示该引擎为当前默认存储引擎。

 

标签: none