一个小白记录的大数据实训过程 day05
今天是MySQL学习的最后一天。主要的内容包括约束、事务、视图、存储过程、流程控制、函数。
其实内容的话都不难,但是细枝末节的东西很多,很杂乱。
其中,我觉得需要再单独拿出来提醒自己的就是事务的隔离级别。
上专业课的时候老师举过买火车票的问题,来说明脏数据等这些情况。
今天通过老师的指令演示加讲解,对事务的隔离级别有了更明确的认识。
read uncommitted 允许事务读取未被其他事务提交的变更。脏读、不可重复读和幻读的问题都会有。
read committed 允许事务读取已被其他事务提交的变更。但仍可能有不可重复读和幻读的问题。
repeatable read 确保事务可以多次从一个字段读取相同值。事务持续期间,其他事务不可对该字段进行更新操作。幻读问题仍然存在。
serializable 确保事务可以从一个表中读取相同的行。事务持续期间,其他事务不可对该字段进行更新、插入、删除操作。所有并发问题都可以避免,但性能低下。
PS:幻读只出现在MySQL5.5的版本之前。
所以MySQL默认的隔离级别是第三级repeatable read。
其他的内容,再做练习有问题的时候再继续补充啦。
祝自己明天顺利!