锁是数据库为了保证数据一致性,对并发访问的控制。写锁(排他锁)不让其它加读锁、写锁。读锁(共享锁)允许其它加读锁。
表锁:管理锁的开销最小,并发最小(资源争用的概率最大),最不容易发生死锁。行锁相反。页锁处于两者之间。
一、mysql
1、 MyIsam存储引擎、mysql本身(如alert table)使用表锁,
2、 falcon引擎使用行锁
3 、InnoDB通过索引上的索引项来加锁,只有通过索引条件检索数据, InnoDB 才使用行级锁,否则使用表锁
InnoDB实际上有四种锁,即共享锁(S)、排他锁(X)、意向共享锁(IS)、意向排他锁(IX);
如果某些资源已经有了一个共享锁,那么在这些资源上面可以添加其他的共享锁,但不能添加排他锁;如果某些资源已经有了一个排他锁,那么在这些资源上不能添加其他的排他锁和共享锁,只能等待当前锁的释放,并获取锁资源后,才能对其加锁,但可以对其添加意向锁,即如果等待事务想要添加的是排他锁,那么可以在锁定行的所在表添加意向排他锁,如果等待事务想要添加的是共享锁,那么可以在锁定行所在表添加意向共享锁。
二、oracle
Oracle采用的是行锁,通过在数据块中对相应数据行加锁来实现的。
ORACLE里的锁有以下几种模式:
0:none
1:null 空
2:Row-S 行共享(RS):共享表锁
3:Row-X 行专用(RX):用于行的修改
4:Share 共享锁(S):阻止其他DML操作
5:S/Row-X 共享行专用(SRX):阻止其他事务操作
6:exclusive 专用(X):独立访问使用
相关推荐
数据库锁的详细介绍,详细介绍数据库锁的形成,以及解决办法
使用场景为:数据库出现锁,不能查询数据,该sql语句用户查询数据库锁的sql语句,以及解锁数据库锁。
oracle数据库锁使用 文档详细介绍了各种档的使用方法和优缺点
详细描述数据库锁和事务的内容,其中包括各种类型的锁的讲述,事务的控制
数据库锁机制_数据库锁.html
数据库锁,mysql和oracle不同,关系型数据库的锁;数据库锁,mysql和oracle不同,关系型数据库的锁
数据库解锁工具,输入用户名密码,sid。可查数据库锁,并杀锁进程。
一款数据库锁住解锁工具 。
如何解决informix数据库锁表问题.doc
赋予数据库断点权限以及数据库解锁命令 数据库 断点权限 解锁 命令
我上传的资源是处理oracle数据库锁表的,具体是解决锁表的方法。
Oracle 数据库解锁session方式
esale3.85完美 数据库解锁工具esale3.85完美 数据库解锁工具
数据库锁(行锁,表锁,共享锁,排他锁) 行锁 我们知道mysql的Innodb引擎是支持行锁的,与Oracle不同,mysql的行锁是通过索引加载的,即行锁是加载索引响应的行上的,要是对应的SQL语句没有索引,则会走表锁。 行锁...
ORACLE数据库锁表问题浅析.pdf
查看数据库锁和解锁方法,包括实例代码。拷贝、粘贴、运行、见效果
工作中总结的关于数据库锁简单小结,希望给大家帮助,供大家参考
博客的代码,查看当前导致数据库锁的具体sql语句,调查代码逻辑死锁导致数据库超时的例子,对应的博客文章位置http://blog.csdn.net/pfe_nova/article/details/9055981 注意将代码配置文件的连接字符串改成自己实际...