Re: Oracle much slower than MS SQL Server on NT?!

From: Protasov Andrew <protasov_at_percombank.kiev.ua>
Date: 1997/09/08
Message-ID: <3413CB6D.7194_at_percombank.kiev.ua>#1/1


[Quoted] My time is 53 sec for 5000 records with commit in loop and 35 sec. without it. I have Pentium 120, 40 RAM and old slow IDE drive. What is your configuration?

                                    Andrew Protasov

L. Tseng wrote:
>
> I recently did a testing to see the performance difference
> between Oracle 7.3 and MS SQL 6.5.
>
> The test simply does 5000 and 10000 rows insert to a table, to my
> surprise, Oracle is 2-3 times slower and gets even slower when inserting
> more rows. This seems to contradict to Oracle's claim as the fastest
> database engine.
>
> The environment for testing is on the same NT 4.0 box. Two server were
> configured to use about same amount of memory. The results are:
>
> insert
> 5000 recs Oracle: 2 min. 20 sec.
> MS SQL: 58 sec.
>
> 10000 recs Oracle: 4 min. 55 sec.
> MS SQL: 1 min. 42 sec.
>
> I was wondering if anyone experience the same thing or
> anyone know some tips to speed up the Oracle.
>
> Thanks for your help in advance.
>
> Leslie
>
> I here include the table structure below for reference.
>
> CREATE TABLE Employee
> (
> EmployeeID int NOT NULL ,
> FirstName VARCHAR2 (50) NULL ,
> LastName VARCHAR2 (50) NULL ,
> MiddleInitial char (2) NULL ,
> DefaultLoginName VARCHAR2 (30) NULL ,
> DefaultDomainName VARCHAR2 (50) NULL ,
> EmailAddress VARCHAR2 (75) NULL ,
> SetupDate DATE DEFAULT SYSDATE ,
> SetupBy VARCHAR2 (30) DEFAULT USER ,
> LastModifiedDate DATE NULL ,
> LastModifiedBy VARCHAR2 (30) NULL ,
> ServerFlag NUMBER(3) NULL,
> RecordInputType NUMBER(3) NULL
> )
> ;
>
> CREATE UNIQUE INDEX PKEmployee ON Employee(EmployeeID)
> ;
>
> CREATE UNIQUE INDEX AK1Employee ON Employee(DefaultLoginName)
> ;
>
> drop sequence emp_seq;
> create sequence emp_seq;
>
> CREATE OR REPLACE TRIGGER EmpID_TR
> BEFORE INSERT ON employee
> FOR EACH ROW
> WHEN (NEW.EmployeeID IS NULL)
> BEGIN
> SELECT emp_seq.NEXTVAL INTO :NEW.EmployeeID FROM DUAL;
> END;
>
> /
>
> declare
> y int;
> begin
> for y in 1..5000 loop
> INSERT INTO Employee
> (
> FirstName,
> LastName,
> MiddleInitial,
> DefaultLoginName,
> EmailAddress,
> ServerFlag,
> RecordInputType
> )
> VALUES
> (
> 'User'||y,
> 'User'||y,
> null,
> 'User'||y,
> null,
> 1,
> 2
> );
> commit;
> end loop;
> commit;
> end;
>
> /
Received on Mon Sep 08 1997 - 00:00:00 CEST

Original text of this message