MYSQL 锁

MYSQL的锁分三种类型

一、表级锁

表级锁分两种类型

1.读锁

statment1
//读锁
mysql> lock table tablename read;

此时statment1,stament2 都只能读这个表的内容 而不能修改表的内容;
但 区别在于  statment1修改该表数据会被拒绝
statment2 则会处于阻塞状态,这个状态中 如果 statment1解锁了,则会立即执行statment2操作
//解锁
mysql> unlock table;

2.写锁

mysql> lock table tablename write;
写锁时这个表的读和写 只有当前statment才可以操作


二、行级锁

分两种

行级锁 需要用事务包裹住

start transtraction

xxx锁

commit

1select XXX for update

排它锁:只允许当前statment对其上锁,查询的时候加上for update 可以有效的避免脏读 因为如果有人对其上锁,你再上锁时会处于阻塞状态



2select XXX lock in share mode

共享锁:允许其他的statment对其上锁,所以有时候自己都没办法修改


三、自己查


以上内容是自己查询资料和实际操作得出来的结果

你们可以参考:

http://blog.csdn.net/xifeijian/article/details/20313977

http://www.cnblogs.com/liushuiwuqing/p/3966898.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值