您的位置:首页 > 数据库 > Oracle

sqlserver、oracle、mysql 锁类型

2016-02-15 21:19 801 查看

sqlserver

写操作必须向服务器申请并获得锁才能修改数据,而且读操作必须申请和获得读锁才能查询数据。多用户可以同时读取数据,而一个表或者表中的部分列只能分配一个写锁,并且拒绝读请求一直等到写锁释放。

锁有行、页、表锁三种类型,会发生锁升级。

用savetransaction 来创建保存点。

oracle

写操作必须向服务器申请并获得锁才能修改数据,而读操作不需要任何锁就能查询数据。另外服务器必须保证从查询开始到结束读操作看到一个一致的视图,即使其他用户修改,数据看上去也要相同,这个称为多版本控制。

只有行锁。

MySQL

两种都有,取决与用到引擎。

锁有行、页、表锁三种类型,会发生锁升级。

MySQL中的事务有保存点的说法,即在事务中可以创建一个保存点 savepoint <保存点名称>,当需要回滚的时候用rollback to savepoint <保存点名称> 即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: