SQL Server与Oracle在并行处理方法方面的对比

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

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

并行访问的问题

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

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

SQL Server处理方法

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

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

use pubs
go
begin tran
update titles
set price = price * 1.05
where
title_id = 'BU2075'

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

select title_id,title,price
from titles
order by title_id.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql
, 数据库
, 问题
, 数据
, server
, 并行处理
, 用户
数据并行处理
oracle 并行处理、oracle 并行查询、oracle 并行、oracle insert 并行、oracle并行查询语法,以便于您获取更多的相关知识。

时间: 2024-09-07 05:43:01

SQL Server与Oracle在并行处理方法方面的对比的相关文章

SQL Server、Oracle和MySQL判断NULL的方法_oracle

本文讲述SQL Server.Oracle.MySQL查出值为NULL的替换. 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 Java代码 复制代码 代码如下: ISNULL ( check_expression , replacement_value ) ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL

SQL Server与Oracle并行访问的本质区别

设计优良.性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务.而"底气不足"的数据库系统随着更多的用户同时访问系统将大大降低其性能.最糟糕的情况下甚至可能导致系统的崩溃. 当然,并行访问是任何数据库解决方案都最为重视的问题了,为了解决并行访问方面的问题各类数据库系统提出了各种各样的方案.SQL Server和Oracle两大DBMS也分别采用了不同的并行处理方法.它们之间的实质差别在哪里呢? 并行访问的问题 并行访问出现问题存在若干种情况.在最简单的情形下,数量超过一个的用户可能同

SQL Server和Oracle防止数据锁定的比较

oracle|server|比较|数据 廖铮 2002-5-30 14:23:50 -------------------------------------------------------------------------------- 数据库并行访问,也就是两个或两以上用户同时访问同一数据,这也是数据库引擎如何设计和实现适度反应所面临的最大问题.设计优良.性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务.而"底气不足"的数据库系统随着更多的用户同时访问系统将大大降低其性

SQL Server和Oracle数据锁定比较

数据库并行访问,也就是两个或两以上用户同时访问同一数据,这也是数据库引擎如何设计和实现适度反应所面临的最大问题.设计优良.性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务.而"底气不足"的数据库系统随着更多的用户同时访问系统将大大降低其性能.最糟糕的情况下甚至可能导致系统的崩溃. 当然,并行访问是任何数据库解决方案都最为重视的问题了,为了解决并行访问方面的问题各类数据库系统提出了各种各样的方案. SQL Server和Oracle两大DBMS也分别采用了不同的并行处理方法.它们之

SQL Server与Oracle并行访问的区别

设计优良.性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务.而"底气不足"的数据库系统随着更多的用户同时访问系统将大大降低其性能.最糟糕的情况下甚至可能导致系统的崩溃. 中国.站.长站 当然,并行访问是任何数据库解决方案都最为重视的问题了,为了解决并行访问方面的问题各类数据库系统提出了各种各样的方案.SQL Server和Oracle两大DBMS也分别采用了不同的并行处理方法.它们之间的实质差别在哪里呢? Www.Chinaz.com 并行访问的问题     并行访问出现问题存在

Odbc连SQL Server数据库的几种方法

odbc|server|数据|数据库 Odbc连SQL Server数据库的几种方法   这篇文章是针对在CSDN论坛 中的一些想知道这方面技术的网友而写的.因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者. SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成.也是今天市场上几种大型关系型数据库(SQL Server\Oracle ybase等)之一.对于今天复杂的B/S服务器系统来说,SQL

从SQL SERVER 向ORACLE 8迁移的技术实现方案

oracle|server  不知道从哪里得到这个文档,有用就放上来了 -gwb  数据库端SQL语法的迁移以下为常用的SQL语法迁移,包括数据类型.ID列向SEQUENCE迁移.表(主键.外键.CHECK.UNIQUE.DEFAULT.INDEX).游标.存储过程.函数.触发器.常用SQL语法与函数几个方面,考虑SQL SERVER的实际情况,没有涉及ORACLE特有的PACKAGE.EXCEPTION等.在以下的描述中,将SQL SERVER的TRANSACT-SQL简称为T-SQL.在OR

SQL Server与Oracle数据库在查询优化上的差异(一)

一般来说,Oracle数据库在大型数据环境下,其运行性能比SQL Server数据库效率要高.单从查询优化上讲,两者就有比较大的差异.下面,笔者将数据库查询优化的差异做一个描述,若有不准确的地方,还请大家批评指教. 一. 在数据库排序查询优化上的差异. 在讲解这个内容之前,为了读者能够清楚我讲的内容,我要先谈一个概念.命中率,它是指从内存中取得数据而不从磁盘中取得数据的比率.我们在前几篇文章中都提到过,当在数据库中查询数据时,数据库服务器都是先从内存中寻找数据.只有在内存中数据不存在的情况下,才

OGG sql server到oracle的抽取中断

问题描述 OGG sql server到oracle的抽取中断 源库系统WIN2008 X64,gg版本ggs_121210_Windows_x64_MSSQL_64bit 源库抽取配置:extract eora_1sourcedb sql08 userid sapassword liang123#tranlogoptions managesecondarytruncationpointexttrail ./dirdat/aaformat release 12.1cachemgr cachesi