mysql事务处理 存储引擎

一,什么是事务
在数据库系统的世界里,事务(transaction)是指把多个数据库操作当做一个整体(块)来对待。数据库系统确保操作要么全都正确地得到执行,要么全都不执行,即使在事务过程中出现了停电、计算机崩溃或其他灾难事件也是如此。这样一来,就不会发生从银行账户汇出了一笔钱款、但对方却因为系统出了某种问题而未能收到这笔钱款的事情了。
事务机制还可以让程序员安全、及时地中止一组命令的执行(并把数据库恢复到这组命令开始执行前的状态)。有了事务机制,程序员在软件开发过程中需要考虑和解决的问题将大为减少。
MySQL对事务的支持由来已久,只是有不少人不了解这一事实而已。要知道,MySQL能够以好几种格式来保存数据表。MySQL数据库系统在默认的情况下会把数据表保存为MyISAM格式,这种格式不支持事务。但有几种格式是支持事务的,它们当中最为流行的是InnoDB格式

二,MyISAM和InnoDB存储引擎的区别
MyISAM属于非事务安全型,innodb和bdb属于事务安全型,在使用上,包括建立表,insert,select等等操作上有没有什么区别。但是MyISAM引擎速度比较快、比较简单、而InnoDB支持外键、其速度相对就慢了。
MyISAM 类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。这样就可以根据数据表不同的用处是用不同的存储类型。另外,MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。所以我一般都是使用myisam,因为这次用的也不是很深入的。如果把这类型从MyISAM转成InnoDB会不会有问题、但是全文索引失效.
使用两种的选择:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。如果执行大量的 SELECT,MyISAM是更好的选择。若需要使用事务处理,但是原来的数据表使用的是MyISAM,就需要改为bdb或者innodb,这样基于MyISAM的程序,将类型改为innodb后,其程序不用改动。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值