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: Oracle and Dotnet

Re: Oracle and Dotnet

From: Holger Baer <holger.baer_at_science-computing.de>
Date: Mon, 06 Jun 2005 08:57:03 +0200
Message-ID: <d80s40$6qc$1@news.BelWue.DE>


Larry wrote:
> Holger Baer wrote:
>

>> You suffer the same problem that many developers suffer. You start out 
>> with
>> a small benchmark, and instead of trying to learn something out of it 
>> (namely how to use Oracle correctly in the first place) you're 
>> prepared to blame anybody else. 

>
>
> I don't necessarily agree that I was "blaming" anybody.

I was possibly exaggerating to make my point. Sorry.
>
> Was I puzzled that the per second insert rate was at 40. Yes.
>
> Was I disappointed that our companys contractors simply said that
> "dotnet" was the problem? Yes.

I overlooked that they were contractors. My bad.
>
> Anyway, my not knowing that Dotnet was autocommitting was the core
> problem. By changing the code to use a transaction, my insert rate went
> from 40 per second to 1250 per second. That's still not quite the 7000
> per second I get in MySQL using Dotnet, or the 10,000 per second I get
> in Oracle when using SQLplus.
>
> But it's a start. And a big one at that.
>
> I thank you...and everyone in this forum that replied for your gracious
> help!
>
> Larry

Glad I could help. I think much of the difference between dotnet and using native PL/SQL might stem from the necessary roundtrips through the network stack and the accompanied technology stacks. Secondly, although you're sending always the same statement, Oracle will do a soft parse. The PL/SQL version does only one parse and then reuses the cursor. Parsing is very expensive (another lesson to be learned) and should be avoided whenever possible.

Oh, and just to give you an idea of what Oracle is capable, try running the same benchmark(with transactions) against Oracle and MySQL, but this time make it a multi-user benchmark by running it ten times in parallel. And compare how MySQL supports transactions. (Last time I looked, it didn't, but that depends of the version you're using and you have to use InnoDB etc.).

Cheers,
Holger Received on Mon Jun 06 2005 - 01:57:03 CDT

Original text of this message

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