Mysql 表类型有哪些?
表类型?当初只知道数据库字段类型,varchar、int、float、date等等,怎么有出来个表类型呢,怀着迷茫的神色,上网搜搜是怎么回事吧(ε=(´ο`*)))唉)
还好有度娘,给出了7种Mysql表类型以及详细讲解了每种类型的作用。
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建,查询,更新和删除数据,不同存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。使用不同的存储存储引擎,还可以获得特定的功能。
数据表类型:InnoDB、MyISAM、Gemeni、DBD,HEAP,ISAM,MERFE
InnoDB表
InnoDB--》Mysql5.5之后默认存储引擎。
InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供一个强大的解决方案。InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的选择:
1.更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求;
2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎;
3.自动灾难恢复。与其它的存储引擎不同,InnoDB表能够自动从灾难中恢复;
4.外键约束。支持外键的存储引擎只有InnoDB;
5.支持自动增加列AUTO_INCREMENT属性;
一般来说,如果需要事务支持,并且有较高的并发读取频率,InnoDB是很不错的选择。
MyISAM表
MyISAM是独立于操作系统的,每当我们建立一个MyISAM引擎的表时,就会在磁盘上建立三个文件,文件名就是表名称。例如,我建立了一个MyISAM引擎的tb_Demo表,那么就会生成以下三个文件:
1.tb_demo.frm存储表定义;
2.tb_demo.MYD存储表数据;
3.tb_demo.MYI存储表索引。
MyISAM表无法处理事务,这就意味着有事务处理需求的表,不能用MyISAM存储引擎。MyISAM存储引擎特别适合以下几种情况下使用:
1.查询密集型表。MyISAM存储引擎在筛选大量数据时非常快,是它最突出的优点;
2.插入密集型表。MyISAM的并发插入特性允许同时选择、插入数据。例如:MyISAM存储引擎非常适合管理邮件或Web服务器日志数据。
选择建议:
1.MyISAM:如果应用是以读操作或者和插入操作为主,只有很少的更新和删除操作,并对事务的完整性和并发要求不是很高,可以选择,比如Web和数据仓库;
2.InnoDB:用于事务处理的应用,支持外键。对于类型计费系统或者财务系统等对数据准确性较高的可以使用InnoDB。
网友评论