MySQL存储类型选择

来源:互联网 发布:linux开机自启动脚本 编辑:程序博客网 时间:2024/06/05 22:57

MySQL5.0支持的存储引擎包括MyISAM,InnoDB,BDB,MEMORY,MERGE等等,其中InnoDB和BDB提供事物安全表,其他存储引擎都是非事物安全表。
创建新表的时候如果不指定存储引擎,那么系统会使用默认的存储引擎,5.5版本之前默认存储其引擎是MyISAM,5.5版本之后改为了InnoDB。

1 .MyISAM
5.5以前默认的存储引擎,MyISAM不支持事物,也不支持外键,它的优势就是访问速度快,对事物完整性没有要求。
2 .InnoDB
自增长:InnoDB表的自动增长列可以手工插入,但是插入的值如果是空或者0,则实际插入的将是自动增长后的值。
可以通过“”ALTER TABLE 表名 AUTO—INCREMENT=n“”语句强制设置自动增长列的初始值,默认从1开始,但是该强制的默认值是保留在内存中的,如果该值在使用之前数据库重新启动,那么这个强制的默认值就会丢失,需要在数据库启动以后重新设置
3 .MEMORY
memory存储引擎使用存在于内存中的内容创建表,每个MEMORY表只实际对应一个磁盘文件,格式是.frm。MEMORY类型的表访问非常的快,因为它的数据都是放在内存中的,并且默认使用HASH所以你,但是一旦服务关闭,表中的数据就会丢失。
给MEMORY表创建索引的时候可以指定使用HASH索引还是BTREE索引。
4 .MERGE
MERGE存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,MERGE表本身没有数据,对MERGE类型的表可以进行查询,更新,删除操作。
5 .TokuDB(第三方存储引擎)
TokuDB是一个高性能写入性能,支持事物处理的MySQL和MariaDB存储的引擎,具有高扩展性,高压缩率,高效的写入性能,支持大多数在线DDL操作。