知识大全 SQLServer与Oracle数据锁定的比较

Posted

篇首语:愿你在孤独难熬的时光里,始终没有辜负那个拼命的自己。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQLServer与Oracle数据锁定的比较相关的知识,希望对你有一定的参考价值。

SQLServer与Oracle数据锁定的比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  数据库并行访问 也就是两个或两以上用户同时访问同一数据 这也是数据库引擎如何设计和实现适度反应所面临的最大问题 设计优良 性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务 而 底气不足 的数据库系统随着更多的用户同时访问系统将大大降低其性能 最糟糕的情况下甚至可能导致系统的崩溃

  当然 并行访问是任何数据库解决方案都最为重视的问题了 为了解决并行访问方面的问题各类数据库系统提出了各种各样的方案 SQL Server和Oracle两大DBMS也分别采用了不同的并行处理方法 它们之间的实质差别在哪里呢?

  并行访问的问题

  并行访问出现问题存在若干种情况 在最简单的情形下 数量超过一个的用户可能同时查询同一数据 就这种情况而言数据库的操作目标很简单 尽可能地为用户们提供快速的数据访问 这对我们现在常见的数据库来说不成问题 SQL Server和 Oracle 都采用了多线程机制 它们当然能够一次处理多个请求

  不过 在用户修改数据的情况下并行访问问题就变得复杂起来了 显然 数据库通常只允许唯一用户一次修改特定的数据 当某一用户开始修改某块数据时 SQL Server和 Oracle 都能很快地锁定数据 阻止其他用户对这块数据进行更新 直到修改该数据的第 位用户完成其操作并提交交易(mit transaction) 但是 当某一位用户正在修改某块数据时假设另一位用户又正想查询该数据的信息时会发生什么情况呢?在这种情况下数据库管理系统又该如何动作呢?Oracle 和 SQL Server针对这一问题采取了不同的解决方案

  SQL Server方法

  现在不妨假设有人开始修改SQL Server上存储的数据 于是这块数据立即被数据库锁定 数据锁定操作阻塞其他任何访问该数据的连接——连查询操作都不会放过 于是 这块被锁定的数据只有在交易被提交或者回滚之后才能接受其他访问操作

  下面用SQL Server随带的pubs示例数据库做一个简单示范 在Query Analyzer内打开两个窗口 在第 个窗口中执行下列SQL操作语句 更新pubs数据库中某一图书的价格

  

  use pubs   go   begin tran   update titles   set price = price *   where   title_id = BU

  由于代码中并没有执行mit语句 所以数据变动操作实际上还没有最终完成 接下来 在另一个窗口里执行下列语句查询titles数据表

  

  select title_id title price   from titles   order by title_id

  你什么结果也得不到 窗口底部的小地球图标会转个不停 尽管我在先前的操作中仅仅更新了一行 但是 select语句的执行对象却恰好包含了其数据正被修改的一行 因此 上面的操作不会返回任何数据 除非回到第 个窗口提交交易或者回滚

cha138/Article/program/Oracle/201311/17702

相关参考

知识大全 oracle与sqlserver区别

  体系结构  ORACLE的文件体系结构为  数据文件DBF(真实数据)  日志文件RDO  控制文件CTL  参数文件ORA  SQLSERVER的文件体系结构为  MDF(数据字典)  NDF(

知识大全 SQLServer与Oracle数据库在安全性上的异同

SQLServer与Oracle数据库在安全性上的异同  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ORACLE8I转换数据到SQLSERVER数据库

ORACLE8I转换数据到SQLSERVER数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 oracle到sqlserver的数据转换资料

  MicrosoftCorporation    摘要本文是为希望将其应用程序转为MicrosoftSQLServer应用程序的Oracle应用程序开发人员所写的文中讲述了成功地进行转换所需要的工具

知识大全 oracle,sqlserver,MySQL数据库语句对照表

oracle,sqlserver,MySQL数据库语句对照表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 四大数据库的比较(SQL Server、Oracle、Sybase和DB2)

四大数据库的比较(SQLServer、Oracle、Sybase和DB2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 Oracle数据库与SQL Server数据库镜像对比

Oracle数据库与SQLServer数据库镜像对比  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 oralce数据库日志查看方法探讨

  研究了好几天终于有了一个比较完整查看oracle的数据日志方法oracle没有想sqlserver那样有sqlE工具来辅助查询只能利用oracle自己的工具    一如何分析即LogMiner解释

知识大全 oracle,sqlserver2000分页查询

  前台Ext后台ibatis 数据库分页  ORACLE:  SELECT*FROM(SELECT A*ROWNUMRNFROM表名AWHERE 字段名LIKE(%||

知识大全 Oracle与SQLServer的“相对论”

Oracle与SQLServer的“相对论”  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文