MySql事务隔离级别是啥?

来源:互联网 发布:淘宝怎么秒杀成功 编辑:程序博客网 时间:2024/05/21 06:55

今天去面试了一家公司,php的题目和linux的笔试题都答的还可以!但是数据库这里的笔试题感觉答的一塌糊涂啊!
其中有一题是问到了Mysql 的事务隔离级别。当时一看我就蒙圈了,啥是事务隔离级别?这对于一个PHPer来说,不知道这个东西应该是糗大了。这不回来赶紧学习一下!

MySql事务隔离级别是啥?
简述:翻译自官网(https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html)
事务隔离是数据库事务处理的一个基础。隔离(Isolation)是ACID中的I。当有多个改变事务在进行,同时又有多个查询(queries)事务时,就应该有一个设置来调节结果的可靠性、一致性和重复性,而这个设置就是隔离级别。
MySql 事务隔离级别(InnoDB引擎)分为4类:

  1. READ UNCOMMITED – 读取未提交内容,会产生脏读
  2. READ COMMITED – 读取已提交内容,导致不可重复读,同一个sql,读取到的数据不一致
  3. REPEATABLE READ – 可重复读(InnoDB 默认的),可能会产生幻读
  4. SERIALIZABLE – 可串行化,比RR严格,可能会产生deadlock和并发性问题

    具体的其他介绍及操作对比,可以参考这个博客,我感觉这个写的又清晰又能让你看得懂!
    博客地址:http://www.cnblogs.com/snsdzjlz320/p/5761387.html
    还有MySql官网,如果你英文比较好,推荐看官网的内容,我能将就着看懂,哈哈!
    mysql 事务隔离级别官网介绍地址:https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html

通过今天的面试,我充分意识到了自己数据库知识的不足啊,今后要努力学习了,多看看数据库的书籍,来补充一下这方面的知识才行。