Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: A table with 4000 partitions
Daniel,
I was mostly looking for the information on the internal working of Oracle for processing large number of partitions - for example, is using bind variables on partition key columns helps to reduce parse times? Or Oracle has to re-parse such statements because of the different partition elimination? I noted that partition elimination (pruning) may happen at the stage of parsing or executing: see Oracle8i Release 2 (8.1.6) Designing and Tuning for Performance manual, page 5-6 (explanation of possible values in PARTITION_START and PARTITION_STOP columns of EXPLAIN_PLAN table).
Generally, I feel that if the slow parse problem can be eliminated, a table with 20,000 - 40,000 partitions and no indexes may be the best solution in warehouse-type environment with simultaneous loads and queries - as long as users are not particularly unhappy about the fact that each query takes at least 10 seconds (we run this application on Sun 6500 with 14 CPUs and 8 GB RAM). A big advantage is that without indexes any column can be used in the WHERE clause, with or without the loading characters (i.e. you can search on 'Sev%' or '%Sev%' with the same performance).
Regards,
Sev
"Daniel A. Morgan" <damorgan_at_exesolutions.com> wrote in message news:<3C558194.EBF174D6_at_exesolutions.com>...
> Possible additional disadvantage:
>
> 4. Management nightmare.
> 5. Incredibly long DDL to store for version control
>
> Is the point getting into a book of world records or is there some reason
> to believe it will actually accomplish something related to a real
> problem? That's the question I'd ask.
>
> Daniel Morgan
>
>
>
>
>
> Vsevolod Afanassiev wrote:
>
> > What are possible advantages/disadvantages of using very large number
> > of partitions, let's say, 4000 or more, in DSS environment?
> > I see following
> > Advantages:
> > 1. Reduces the need for indexes, and potentially no indexes at all
> > 2. More flexibility in removing information by using "alter table
> > truncate partition"
> > 3. It is possible to run several direct loads in parallel in
> > differet partitions
> > 4. More flexibility with tablespaces/datafiles
> >
> > Disadvantages:
> > 1. Bigger shared pool
> > 2. Higher ENQUEUE_RESOURCES
> > 3. Some operations are slower, for example, snapshot refresh
> >
> > Anything else?
> >
> > Again, I am talking about DSS environment, with big "historic facts"
> > table
> > being gradually populated from one end (let's say by direct loads)
> > and truncated at the other end, the information is never updated,
> > users only access this table by running reports, so there is never a
> > need
> > to return just a few rows.
> >
> > I saw a note on the Metalink that says that the maximum number of
> > partitions
> > per table is 64,000.
> >
> > Thanks,
> > Sev
Received on Wed Jan 30 2002 - 02:09:39 CST
![]() |
![]() |