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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Local partitioned indexes and partition exchange in 8.1.7

Re: Local partitioned indexes and partition exchange in 8.1.7

From: jaromir nemec <jaromir_at_db-nemec.com>
Date: Wed, 12 Jan 2005 22:35:19 +0100
Message-ID: <007201c4f8ee$9ebb0ca0$3c02a8c0@JARAWIN>


Hi Eric,

> keeps getting slower.

.

>Approximately 3% of the rows is updated after
>insertion, judging from the contents of an audit table.

If I had a free guess to diagnostic it remotely, I'd say you have an update based on nested loop with auditing table as outer table and a full partition scan as a inner table.
You don't say if you have only one update per day or if you update on a per row basis.

If the former is true you may try to use updatable join view to perform the update; should be acceptable on 3M row partition even without a dedicated index (and much better with an index covering the column in the where clause of the update).

> In oracle 9i I would suggest a local partitioned index on the relevant
> columns . And I am thinking of building the index using partition exchange
> to minimize down-time.

Exchange partition works fine if the new daily data fits exactly one partition.

I assume this is well know, I mention it only for completeness - use INCLUDING INDEXES in exchange partition, otherwise the local partition of the index gets unusable.

If you have lot of updates, be careful (read: don't use) with bitmap indexes.

You may also check if the partition pruning works well in all queries; there are some traps (similar to index disabling), e.g. trunc(part_key_column) = some_date suppress partition pruning.

good luck

Jaromir D.B. Nemec

Hi Listers,

One of our customers has problems with an application that keeps getting slower. It has a relatively large central table without indexes which is loaded daily with about 3 million rows. The table is range partitioned per day. Looks like a lot of querying is done on the table with the necessary partition full scan. Approximately 3% of the rows is updated after insertion, judging from the contents of an audit table. In oracle 9i I would suggest a local partitioned index on the relevant columns . And I am thinking of building the index using partition exchange to minimize down-time. But the customer is still on 8.1.7 and I have no experience using that version with these features . Are there any known issues with this approach in 8.1.7 that any of the listers knows of? Better approaches are always welcome of course.

TIA,
Eric.

--
http://www.freelists.org/webpage/oracle-l



--
http://www.freelists.org/webpage/oracle-l
Received on Wed Jan 12 2005 - 15:35:03 CST

Original text of this message

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