MySQL事务和引擎的区别

版权声明:慢半帧 https://blog.csdn.net/Py1807A/article/details/84328677

MySQL事务和引擎的区别

MySQL事务

所谓事务:就是当要完成某个事情时,这个事情包含多个任务;当所有的任务都执行成功,这个事情就是成功的,所有改动的数据都会生效;当有某一个任务执行失败,这个事情就是失败的,所有改动的数据都会回滚。

事务具有四大特性原子性,一致性,隔离性,持久性

  •  原子性(要么不谈,要谈就结婚)
    • 原子性是指事务包含的所有操作,要么全部成功,要不全部失败回滚。
  • 一致性(谈恋爱对我什么样,结婚后还怎对我):
    • 一致性是指事务从必须从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和之后都必须处于一致性状态。
  • 隔离性(闹完洞房,就是两个人的事了)
    • 隔离性是指当多个用户并发访问数据库时,比如同时操作同一张表时,数据库为每一个用户开启事务,不能被其他事务所干扰,多个并发事务之间要隔离。
  • 持久性(一旦领证,就不能后悔)
    • 持久性是指一个事务一旦提交之后,那么对数据库的操作就是永久的,即便时数据库系统遇到故障的清空下也不会丢失提交的事务操作。

事务管理关键词

开启事务:start transaction | begin | set autocommit = 0

执行SQL语句à 多条SQL语句

提交事务Commit | 回滚事务 Rollback

MySQL两个引擎的区别

列举两个最常用的MySQL引擎的区别:MyISAM 和 InnoDB

简单的说一下两个的区别:

  • MySQL默认采用的引擎时:MyISAM。
  • MyISAM不支持事务;InnoDB支持事务。
  • MyISAM不支持行锁定,支持整表锁定;InnoDB支持行锁定。
  • MyISAM不支持外键;InnoDB支持外键。
  • InnoDB外键范围更大,时MyISAM的2倍。
  • MyISAM支持全文检索;InnoDB不支持全文检索;但可以使用sphinx插件支持全文索引。

 

参考链接:

http://www.cnblogs.com/y-rong/p/8110596.html
https://www.cnblogs.com/dashafa/p/3991137.html
https://www.cnblogs.com/fjdingsd/p/5273008.html

 

原文地址http://www.manbanzhen.top/?p=125

展开阅读全文

没有更多推荐了,返回首页