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: IOT or Cluster or neither

RE: IOT or Cluster or neither

From: Christian Antognini <Christian.Antognini_at_trivadis.com>
Date: Sat, 19 Aug 2006 01:32:06 +0200
Message-ID: <F2C9CCA71510B442AF71446CAE8AEBAF6153EE@MSXVS04.trivadis.com>


Adi

> * Large number of records >200million rows
> * Tables have a unique "id" for each row (generated using sequence).
> * The rows can be logically grouped per "user_id"
> * The rows are primarily accessed per "user_id"
> * The distribution of the rows is not even among "user_id" i.e. Most
> users
> have <50 rows but there are a few who have >10000 rows.
> * The tables need to have some secondary indexes.
> * The tables have "minimal" updates and "moderate" inserts.
>
> In order to increase the performance I have the following options.
> A) IOT with primary key similar to "userid,id"

IOT makes only sense if most accesses are based on the PK. Since in your case most accesses are performed through "user_id", it makes no sense to use an IOT.

> B) Cluster the table on user_id (index)
> C) Cluster the table on user_id(hash)

Clusters don't support partitioning. With that amount of data, you need partitioning.

Therefore, IMHO, your only choice is finding the right partitioning schema. Probably the most important matter to consider are the definition of the PK and the number of distinct values and definition (ranges?) for "user_id"

HTH
Chris

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Aug 18 2006 - 18:32:06 CDT

Original text of this message

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