Posted by: satishk | January 22, 2007

Analyze this..Oracle Hash Partitioning

What’s your goal with table partitioning?
Ease of management? What are you trying to achieve here.

If you are already using an index to access the data,then partitioning is not going to improve your query turnaround drastically. (Sometimes it might turn out to be an opposite if you do it wrong).

With partitioning, you misght feel good as a dba for maintenance stand point, but
Partitioning is not equal to “Fast=>True”.Partitioning is a tool, something we need to understand a bit  more about “what it will do as to what it won’t

When can Partitioning Will defenetly speed up process?

1.By removing a large percentage of a table from consideration during a full table scan using partition eliminiation.
2. You can use partitionwise joins.
3 To reduce contention on heavily inserted into objects.

When can it not or have nominal impact?
1. When you are index reading the table.  Here you must ensure your partitioning
scheme does not negatively impact performance.
2. When optimizer doesnt use the partition elimination.

Almost every physical structure in the database will necessarily add to an insert overhead All of these physical things listed below will add work to insert process (as you are basically diverting the ‘data must go somewhere’ as opposed to the standard and boring table.
a Index organized tables
b hash cluster
c b*tree cluster
d partitioned tables

In a warehouse, partitioning can be a query performing enhancement tool – it avoids a full table scan of a huge table.
You have a transactional system and people often believe that Hash partition is way to go.You can also use global indexes intelligently which will not have any negative performance. I agree its RARELY about performance in a OLTP as case of administration, and higher availability.

Using hash subpartitions with a partition key that has only 5 distinct values is not all useful as it only works best with a LARGE number of values.The hash key should have a large domain of values so as to achieve a good distribution across the partititions As one or more of your partitions will be empty mostof the times.

In short my take is without a test case I won’t comment on your exact numbers, but the most frequently used “we’ll hash partition for great performance increases” is not going to be true in all the cases.

Reason I wanted to see both -as what we EXPECTED vs what we have achieved.

 

 


Leave a response

Your response:

Categories