zoukankan      html  css  js  c++  java
  • 数据库锁机制

      数据并发会引起很多问题,数据库通过锁机制来解决并发访问的问题,虽然不同的数据库在实现细节上存在差别,但是原理都差不多,下面介绍一下数据库的锁机制

      按锁定的对象不同分为表锁定和行锁定,表锁定对整个表进行锁定,行锁定针对特定的行进行锁定,从并发事务锁定的关系上看,可以分为共享锁定和独占锁定,共享锁定会防止独占锁定,允许其他的共享锁定,而独占锁定既防止其他的独占锁定,也防止其他的共享锁定。下面介绍一下oracle的五种锁定:

      1 行共享锁定:一般通过select for update 语句隐式获得行共享锁定,在oracle中用户可以通过lock table in row share mode 语句显示获得行共享锁定。行共享锁定并不防止对数据进行更改操作,但是防止其他会话获取独占性数据表锁定。

      2 行独占锁定:通过一条insert,update,delete语句隐式获取,或者通过一条lock table in row exclusive mode 语句显示获取。这个锁定可以防止其他会话获取一个共享锁定,共享行独占锁定或者独占锁定。

      3 表共享锁定:通过一条lock table in share mode 语句显示获得,这种锁定可以防止其他会话获取行独占锁定(insert,update,delete),或者防止其他表行独占锁定或者表独占锁定,他允许在表中拥有多个行共享和表共享锁定

      4 表共享行独占:通过lock table in share row exclusive mode 语句显示获得,这种锁定可以防止其他会话获取一个表共享锁定,只是一次只能对一个表放置表共享行独占锁定

      5 表独占:通过lock table in  exclusive mode显示获得,这个苏定防止其他会话对该表的任何其他锁定

  • 相关阅读:
    几种sap增强的查找方法
    BAPI_ACC_DOCUMENT_POST Enter rate / GBP rate type M for Error SG105
    SAP TAX CODE 自动计算税金(BAPI_ACC_DOCUMENT_POST CALCULATE_TAX_FROM_GROSSAMOUNT)
    Python入门资料
    认知决定你的格局,和财富差距 (转)
    微信支付,支付宝支付,银联支付——三大支付总结
    Android 日志记录杂谈-Logger,Timber,logback-android
    好全的Android面试题
    Android界面性能调优手册
    50 篇 Android 干货文章
  • 原文地址:https://www.cnblogs.com/jtjs1989/p/3524655.html
Copyright © 2011-2022 走看看