Re: is Oracle technically better than Ingres ?

From: Mark D Powell <Mark.Powell_at_eds.com>
Date: 4 Aug 2004 13:40:59 -0700
Message-ID: <2687bb95.0408041240.51c94462_at_posting.google.com>


michaelnewport_at_yahoo.com (michael newport) wrote in message news:<63b202d.0408030438.fbe8e64_at_posting.google.com>...
> look at it this way,
>
> using Oracle 9i, I have now written a batch procedure in PL/SQL that
> collects lots of data from various tables, and puts it all into a new
> table. I also did the same using Ingres 6.4 some time back using only
> SQL, running from a cron job.
>
> In Oracle, when the user runs a report (the next day) from the table,
> it is slower than it should be as the 'order by' is done at run time.
> It seems that I cannot pre-order the data (though I have tried).
>
> In Ingres I used to do this easily with :-
> modify <table> to btree unique on <field1>, <field2>, <field3>
>
> Regards
> Michael Newport

If your process uses only ANSI standard SQL then if you can build the report table in Ingress then you should also be able to do it with any other RDBMS that supports the same level of the ANSI standard. If the SQL is not ANSI standard but involves extentions then it is subject to question if the process is pure SQL.

The problem with using the rewriting of an existing peice of code as a means of measuring a DB is that that code was probably written to work based on the features of the existing DB. The new target DB may well be based on different design principles and the code should be structured differently on the new DB for optimal performance. The problem is if you are good with the old system you are likely not (yet anyway) good with the new one. Most people like what they know, and are not going to like a DB with which they are unfamiliar and inexperienced.

By the definition of an RDBMS a table is an unordered heap (see Codd).  Applying the sort at run time allows the data to be extracted in whatever order is needed at the time. But if the report is constructed such that it logically should be extracted in a specific order then based on your example you would use an Indexed Organized Table, IOT, which Oracle provides as an option.

IMHO -- Mark D Powell -- Received on Wed Aug 04 2004 - 22:40:59 CEST

Original text of this message