mysql的存储引擎分析

来源:互联网 发布:单片机按键控制数码管 编辑:程序博客网 时间:2024/05/04 19:38

mysql数据库存储引擎有:MRG_MYISAM,MyISAM,BLACKHOLE,CSV,MEMORY,ARCHIVE,InnoDB等。


命令查看当前mysql支持的存储引擎:show engines



查看某个表的存储引擎:show table status from db_name where name='table_name'



MRG_MYISAM:也就是MERGE存储引擎,其基本表类型必须是MyISAM,用法可参考:http://www.linuxidc.com/Linux/2012-08/67797.htm


MyISAM:mysql默认存储引擎,执行大量的select时优选,不提供事务支持,每个MyISAM在磁盘上存储成三个文件,文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。


BLACKHOLE:黑洞引擎。


CSV: 该引擎有点类似Oracle的外部表。它可以将“逗号分隔值(CSV)文件”作为表进行处理,但不支持在这种文件上建立相关索引。在服务器运行中,这种引擎支持从数据库中拷入/拷出CSV文件。如果从电子表格软件输出一个CSV文件,将其存放在MySQL服务器的数据目录中,服务器就能够马上读取相关的CSV文件。同样,如果写数据库到一个CSV表,外部程序也可以立刻读取它。在实现某种类型的日志记录时,CSV表作为一种数据交换格式,特别有用。此段文字来自:http://blog.csdn.net/wzy0623/article/details/8168386


MEMORY:将表的数据存放在内存中,详解可参考:http://www.cnblogs.com/wu-jian/archive/2011/11/29/2267795.html


ARCHIVE:只支持insert和select操作,使用场景:归档数据、日志信息(系统功能模块访问日志)。



InnoDB:提供事务支持事务,外部键等高级数据库功能,数据执行大量的INSERT或UPDATE时适合采用。



0 0