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

Home -> Community -> Mailing Lists -> Oracle-L -> Using ROWID instead of indexes

Using ROWID instead of indexes

From: <mteehan_at_erggroup.com>
Date: Mon, 22 May 2000 11:39:05 +0800
Message-Id: <10504.106180@fatcity.com>


I am tuning a large OLTP database. 95% of transactions are a SELECT + UPDATE of a master table, and an insert to a transaction table. The SELECT|UPDATE is too slow - I need to speed it up by about 50%, to over 2000 transactions/second. To speed up the UPDATE portion, I now select the rowid, and update on the rowid, so that an index scan is not needed for the update. I am now thinking of taking it a step further, and allowing the application to select all of the primary key columns and corresponding rowids at startup, store it in a vector outside the database, and do all selects and updates on the rowid. Im pretty sure it will scan the vector faster than oracle can do an index lookup. The vector can be refreshed daily. All blocks are in the KEEP pool. [New] rows not found are easily dealt with by requerying on the PK. Am I right in assuming that rowid retrievals are faster than index scans, if all of the blocks are in the buffer cache? There are approx. 10m rows in the master table.
(I have tried every possible combination of partitioning/IOTs/indexes.)

Mark
mteehan_at_erggroup.com

Received on Sun May 21 2000 - 22:39:05 CDT

Original text of this message

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