高性能MySQL学习记录,day01

写锁:

一个用户在对表进行读写(增、删、改)前需要获得写锁,这回阻塞其它用户对该表的	
	所有读写操作,只有没有写锁的时,其它用户才能获得读锁,读锁之前不相互阻塞

服务器会为 alter  table 之类的语句使用表锁

事务必须具备的特征

原子性: 一个事务必须视为一个不可分割的最小单位,整个事务要么全部执行,要么失败回滚

一致性:数据库总是从一个一致性的状态转换到另一个一致性的状态
(PS:事务没有提交时,数据不会保存到数据库)

隔离性:通常一个事务所作的修改在最终提交之前对其它事务是不可见的,但是在讨论隔离级别的时候另说

持久性:一旦事务提交,所作的修改会永久的保存在数据库中

隔离级别:

未提交读:事务的修改,即使没有提交,对其他事务也是可见的(导致脏读,一般不使用)

提交读(不可重复读):一个事务从开始到提交之前对其它的事务不可见

可重复读:(MySQL的默认隔离级别)解决了脏读问题,保证了在同一个事务中多次读取相同记录的结果是一致的
			 	PS:但理论上可重复读不能解决幻读的问题,
		   		 所谓幻读:当某个事物在读取某个范围内的记录时,另一个事务又在该范围内
				添加了新的记录,但是MySQL通过多版本并发控制,解决了这个问题

可串行化:是最高的隔离级别,通过事务串行执行,避免了前面说的幻读问题,
				简单来说,就是在读取的时候在每一行数据加锁,
					导致了大量的超时和锁争得问题,很少用到。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值