【www.gdgbn.com--mysql教程】

mysql教程与大多数据库教程不同,在mysql中有一个存储引擎情况,针对不同需要,用户可以选择最适合自己的存储引擎,那么在mysql有多少种存储引擎呢,并且他们的有什么优点与不足呢,

mysql引擎有四种分别为:myisam,innodb,bdb,memory,merge,example,ndb cluster,archive,csv,blackhole,federated等,其它innodb,与bdb是提供事务安全表,其它存储引擎都是非事务安全表。

下面我们来看不同表的简.

一、myisam

myisam是mysql默认存储引擎,它不支持事务处理,同时也不支持外键,其优点是速度快,对事务的完整性没有要求,

myisam一个数据表,会在硬盘上有三个表文件分别是 .frm(存储表定义) .myd( 数据存储表) .myi(存储索引表)

二、innodb

innodb表的自动增长列,可手工输入,但是如果值为0或空,则实际插入的会是自动增长的值,对innodb表的自动增长必须设置为索引,而myisam不必需的。同时它还支持外键约束,

三、memory

memery存储引擎使用存储在内存中的内容来创建表,每一个memory表只实际对应一个硬盘文件,格式是.frm,memory访问速度比较上面二种都要快,因为它数据放在内存中,并且默认引擎使用的是hash索引,但是服务器一关闭,表中的数据就会被丢失

四、merge

merge存储引擎是一组myisam表的组合,这些myisam表必须结构完全相同,merge本身是没有数据,对merge类型的表可以进行查询,删除,更新等操作,这些实际都是对内部的myisam进行操作的,对于merge类型表插入操作,是通过inert_method子句定义插入的表,可以有3个不同的值,first,last,不定义为no表不能对merge进行插入操作。

好了上面介绍的是常用的mysql存储引擎简单说明,

本站原创教程转载注明来源www.111cn.net

本文来源:http://www.gdgbn.com/shujuku/24744/