Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Newbie's Oracle 9i impression: it sucks

Re: Newbie's Oracle 9i impression: it sucks

From: Niall Litchfield <n-litchfield_at_audit-commission.gov.uk>
Date: Thu, 23 May 2002 10:25:15 +0100
Message-ID: <3cecb57c$0$234$ed9e5944@reading.news.pipex.net>


"SQLJoe" <sqljoe_at_aol.com> wrote in message news:20020522184228.24233.00000378_at_mb-dh.aol.com...
> HJR wrote:
>
> >Well, I'm afraid it is true. Read Niall's post.... he demonstrates the
very
> >fact I'm talking about. The reading session hangs because someone is
> >updating the row.
>
> I was going to respond to nail's post but I got disconnected. Let me
respond
> now..
>
> AGAIN, you can read a row that is being updated in MS SQL using a read
> uncomitted isolation level.
>
> In the sesion 2 in his example, you can use the following
>
> use northwind
> select "query" with (readuncomitted)
>

Neither Howard nor myself ever said that you cannot work around the 'problem' though as Serge points out it is a difference not a problem. What we are saying is that by DEFAULT a writer blocks a reader. Moreover READ UNCOMMITTED is not the same thing as Oracle's multi-versioning. To borrow an example from Tom Kyte's book consider an account balance table with say 10m rows in a banking app. At the end of the working day the bank runs its calculation of monies held by summing the balance tables. Shortly afterwards a customer who happens to own accounts 1 and 10,000,000 transfers 500,000 dollars from account 1 to account 10,000,000 using the new handy dandy web interface the bank have provided when he gets home from work. What happens

assuming the query has passed row 1 but not got to the end of its scan when the update starts. By default MSSQL will make you wait for the update to complete (assuming the update is coded as a transaction and updates other tables as well). It will then read the new record and double count the 500,000. If on the other hand you issue query (with read uncommitted) then you don't have to wait for the wrong answer you get it straight away :-(. In the case of oracle you get a consistent view at the time the query started. The answer is of course to recode the app.

> Here is the Microsoft's documentation on read uncomitted isolation level.
>

<snip>

> I think you are too stuck in your Oracle mind. The fact is MS SQL beats
Oracle
> in performance. Here is the link if you want to know the truth.
>
> http://www.tpc.org/tpcw/results/tpcw_perf_results.asp
>

What's the MTBF of that 72 disk subsystem for the db server or the 15 server web farm? and how many comparable systems do you run?

People do have different views on benchmarks (Oracle Marketing seem to love them) but as far as I'm concerned the only criteria is how will it behave in my environment under my load with my hardware. The whole TPC thing is of highly limited value in my opinion.

More to the point rival product bashing is equally daft. Oracle, MSSQL and DB2 are all great products. They all behave differently and need different approaches to management. None of them suck.

--
Niall Litchfield
Oracle DBA
Audit Commission UK
*****************************************
Please include version and platform
and SQL where applicable
It makes life easier and increases the
likelihood of a good answer

******************************************
Received on Thu May 23 2002 - 04:25:15 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US