zoukankan      html  css  js  c++  java
  • 数据库阻塞SQL的隔离级别

    数据库的隔离级别主要是为读操作定义保护级别的;对于修改写操作,无论哪种隔离级别都可以保证写操作的正确执行。SQL标准为三种副作用:
    Dirty reads: 事务T2提交了数据,事务T1这时读取了T2提交的数据,T2发生异常rollback,那么T1读取的数据就是有问题的数据,是dirty read。
    unrepeatable reads:事务T1读取数据以后,事务T2修改了T1读取的数据,事务T1以同样的查询从数据库读取数据,就会发现和上一次读取的不一致,所以称为unrepeatable reads。
    phantom reads:事务T1查询数据库并返回数据,事务T2插入了新的数据,事务T1一同样的查询读取数据库数据,发现会多出一些数据,所以称为phantom reads。
    设置合适的数据库事务隔离级别可以防止上面问题的发生,但是隔离级别越高并发性越差一般会设置为read-committed

     


    Dirty Reads Unrepeatable Reads Phantom  Reads

    Read Uncommited

    Y

    Y

    Y

    Read commited

    N

    Y

    Y

    Repeatable Read

    N

    N

    Y

    Serializable

    N

    N

    N

    INF:了解和解决 SQL Server 7.0 或 2000 阻塞问题

    http://support.microsoft.com/kb/224453/zh-cn

    如何监视 SQL Server 2000 阻塞

    http://support.microsoft.com/kb/271509/

  • 相关阅读:
    7月18日实习日志
    第二周总结
    7月15日实习日志
    7月14日实习日志
    7月13日实习日志
    7月12日实习日志
    7月11日实习日志
    第一周总结
    7月8日实习日志
    小飞机工作笔记(一)方案简述
  • 原文地址:https://www.cnblogs.com/moon25/p/1248542.html
Copyright © 2011-2022 走看看