学习Mysql数据库,Mysql表类型都有哪些是一定需要知道的,下面就为您介绍七种Mysql表类型,希望能对您学习Mysql表类型有所帮助。
MySQL作为当前最为流行的免费数据库服务引擎,已经风靡了很长一段时间,不过也许也有人对于MySQL的内部环境不很了解,尤其那些针对并发性处理的机制。今天,我们先了解一下Mysql表类型,以及它们的一些简单性质。
截至目前,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni这7种Mysql表类型。其中DBD、InnoDB属于事务安全类表,而其他属于事务非安全类表。
DBD
Berkeley DB(DBD)表是支持事务处理的表,由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能--事务控制。事务控制在任何数据库系统中都是一个极有价值的功能,因为它们确保一组命令能成功地执行或回滚。
HEAP
HEAP表是MySQL中存取数据最快的表。这是因为他们使用存储在动态内存中的一个散列索引,不过如果MySQL或服务器崩溃,这些内存数据将会丢失。
ISAM
ISAM表是早期MySQL版本的缺省表类型,直到MyIASM开发出来。建议不要再使用它。
MERGE
MERGE是一个有趣的新类型,在3.23.25之后出现。一个MERGE表实际上是又一个MyISAM表的集合,合并而成的一个表,主要是为了效率的考虑,因为这样不仅仅可以提高速度、搜索效率、修复效率而且还节省了磁盘空间。
MyIASM
MyIASM基于了IASM代码,应该可以说是IASM的衍生品,不过增加了不少有用的扩展。它是MySQL的默认数据表类型,基于了传统的ISAM类型,ISAM是Indexed Sequential Access Method(有索引的顺序访问方法)的缩写,一般来说,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。ISAM表格可以被压缩,而且它们支持全文搜索,不过它们是事务不安全的,而且也不支持外键。如果事务回滚将会造成不完全回滚,从而不具备原子性。所以假如忽略事务以及访问并发性的话,并且需要执行大量的SELECT检索语句的话,MyISAM将是最好的选择。
InnoDB
InnoDB是MySQL 4.0之后推出的一种比较新的数据表类型,这种类型是事务安全的。它与BDB类型具有相同的特性,它们还支持外键。InnoDB表格速度很快具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它。如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,同样应该使用InnoDB表。对于支持事务的InnoDB类型的表来说,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动提交,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打开也可以),将大大提高性能。
Gemeni
Gemeni表,据听说也是在MySQL 4.0之后推出的,不过截至当前,很少有针对它的介绍,同样应用也就更少了,我们暂时不作介绍。
MySQL的数据表类型很多,其中比较重要的是MyISAM,InnoDB这两种。
这两种类型各有优缺点,需要根据实际情况选择适合的,MySQL支持对不同的表设置不同的类型。下面做个简单的对比:
MyISAM表类型是一种比较成熟稳定的表类型,但是MyISAM对一些功能不支持。
http://database.51cto.com/art/201010/230057.htm
分享到:
相关推荐
4. **避免覆盖记录条数过多不适合建索引**:对于只有很少几种值的字段(如性别),建立索引意义不大。 #### 五、SQL使用规范 1. **禁止使用SELECT***:只获取必要的字段,减少网络传输和处理时间。 2. **禁止使用...
基于微信小程序的物业缴费系统的设计与实现的主要使用者分为服务端和微信端,实现功能包括管理员:首页、个人中心、业主管理、抄表员管理、更新通知管理、公告栏管理、费用类型管理、费用缴纳管理、欠费通知管理、...
基于微信小程序的物业缴费系统的设计与实现的主要使用者分为服务端和微信端,实现功能包括管理员:首页、个人中心、业主管理、抄表员管理、更新通知管理、公告栏管理、费用类型管理、费用缴纳管理、欠费通知管理、...
城市水费管理系统是一种基于计算机技术的现代化解决方案,用于优化城市水费管理流程。随着城市规模的扩大和人口增长,传统的手工管理模式已经无法满足高效、准确的水费管理需求。计算机科学的发展,特别是JavaWeb和...
主要使用者分为服务端和微信端,实现功能包括管理员:首页、个人中心、业主管理、抄表员管理、更新通知管理、公告栏管理、费用类型管理、费用缴纳管理、欠费通知管理、费用报表管理、留言板管理、系统管理;...
主要使用者分为服务端和微信端,实现功能包括管理员:首页、个人中心、业主管理、抄表员管理、更新通知管理、公告栏管理、费用类型管理、费用缴纳管理、欠费通知管理、费用报表管理、留言板管理、系统管理;...
主要使用者分为服务端和微信端,实现功能包括管理员:首页、个人中心、业主管理、抄表员管理、更新通知管理、公告栏管理、费用类型管理、费用缴纳管理、欠费通知管理、费用报表管理、留言板管理、系统管理;...
基于微信小程序的物业缴费系统的设计与实现的主要使用者分为服务端和微信端,实现功能包括管理员:首页、个人中心、业主管理、抄表员管理、更新通知管理、公告栏管理、费用类型管理、费用缴纳管理、欠费通知管理、...
首先,我们要了解C#是一种由微软开发的面向对象的编程语言,它在.NET Framework上运行,广泛用于构建各种类型的应用程序,包括桌面应用、Web应用和移动应用。Winform是C#中用于创建桌面应用程序的一个库,它提供了一...
9. **MySQL技术**:在设计MySQL数据库时,应避免过多的字段,选择合适的字段类型,减少NULL字段,适当冗余数据以简化SQL查询,并谨慎使用外键以优化性能。 10. **Maven**:Maven是一个项目管理和综合工具,它可以...
首先,求职意向部分是简历的开场白,应明确指出你所寻求的职位类型,例如软件工程师、数据分析师或系统架构师等。这里需要简明扼要地表达你的职业目标,同时可以提及你希望在哪个行业或领域工作。 教育背景是展示你...
612 安茉 MysQL… ………………………………………¨ 】 66 613 安力 妊 PHP… ¨ ¨ … … … ¨ ¨ … … … … … ¨ … … … … … … … … … … … … · · ¨ ¨ ¨ ¨ ¨ 169 6】 4 显示 PHP信 息 ,¨ …...