饿虎岗资源网 Design By www.oxmxm.com

mysql支持很多表类型的表(即存储引擎),如myisam、innodb、memory、archive、example等。每种存储引擎都有自己的优点和缺点,充分的理解每种存储引擎,有助于合理的使用它们。有人认为在同一个数据库中使用多种存储引擎很影响性能,其实这是一种十分错误的想法。实际上,除非是非常简单的数据库,否则的话,只使用一种存储引擎,对应用程序的性能来说是一个十分糟糕的行为。对数据库了解的人会根据每张表的作用不同来选择适当的存储引擎,这才是正确的做法。

前面说过mysql的存储引擎很多,但是我个人在工作中运用最多的存储引擎有两个,一个是InnoDB,一个是MyISAM。我这里就聊聊这两个存储引擎,并比较下两者之间的区别。

一、MyISAM

MyISAM现在为mysql的默认存储引擎,如果在建表的时候,没有指定表类型,mysql就会默认使用MyISAM。MyISAM有一个很多人认为很重要,然而我却觉得没什么卵用的特性,那就是MyISAM表示独立于操作系统之外的。通俗点说就是你可以很轻松的将MyISAM表从windows移植到linux或者从linux移植到windows。这确实是个优点,可是哪个技术主管会有在决定用了一种操作系统一段时间后又要换服务器的操作系统的脑残行为,所有我认为这个优点没有什么实际的意义。

MyISAM存储引擎是mysql组件中非常重要的一部分,在mysql中可以创建3种MyISAM格式的表——静态、动态和压缩。格式不需要单独指定,mysql会根据表结构自动选择最合适的格式。

1、MyISAM静态

如果表的每个字段的数据类型的定义都是使用静态的(如char),mysql就会自动使用静态MyISAM格式,这种类型格式的表的性能是很高的,也就是查询更新用的时间很少,但要知道这是在牺牲空间为代价。因为每一列都要分配最大的空间,即使有部分空间没有用到,这就使得静态的表所占的空间会比较大。

2、MyISAM动态

如果表的每个字段的数据类型的定义都是使用动态的(如varchar),mysql就会自动使用动态MyISAM格式,这种类型格式的表的性能会有所下降,但是它的空间占有要比静态的少很多。

3、MyISAM压缩

如果有一张表在设计之初只赋予了它读的使命,就可以用MyISAM压缩表,在相同的配置下,它的性能是最快的。

二、InnoDB

InnoDB是一个事务型存储引擎,它默认支持事务。因此,在对数据完整度有较高要求的项目中,都是采用InnoDB作为存储引擎,比如跟银行相关的项目。InnoDB还引入行级锁定。其他表类型都是全表锁定,意思就是说,在一个用户要修改一张表中,自己那一行的某个信息的时候,数据库会先锁定整张表,其他用户对这张表无法进行操作,这就是全表锁定。行级锁定就不一样了,只锁定自己要修改的那一行的,也就是说其他人对表还可以进行操作,只是不能操作被锁定的那一行的数据了。好处显而易见,在速度上更快了,特别适合处理多重并发的更新请求。

InnoDB还引入了外键约束。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

饿虎岗资源网 Design By www.oxmxm.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
饿虎岗资源网 Design By www.oxmxm.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。