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

Home -> Community -> Usenet -> c.d.o.server -> Re: Defragmenting table

Re: Defragmenting table

From: Eoin Gardiner <eoin7_at_my-deja.com>
Date: Mon, 18 Sep 2000 18:44:02 GMT
Message-ID: <8q5npc$31h$1@nnrp1.deja.com>

I'm not sure this will help:

Firstly, select count(rowid) is more efficient than using count(*).

Secondly, if the high-water mark on the table has become very large, this would account for the slowness, even though the row count is circa 30000. A useful comparison would be to create a duplicate table [create table count_test_table as select * from original_table, then try your query again.

In article <8psl8q$3eq$1_at_nnrp1.deja.com>,   FGuelfucci <fguelfucci_at_goalgroup.co.uk> wrote:
> Hi there,
> I hope that someone could help me with a little problem.
> I often have to do a query on a table, +/-30000 rows, but for some
> reason the system takes between 10 to 40 secs to return from the
 select
> count(*), statement, (other tables are 5 times the size and 3 times
> faster).
> There are 2 indexes and 2 primary keys. The size of the table would
> indicate that it should be very quick.
> For the purpose of the application I have to do a select count(*)
 often
> as the exact number of rows varies from time to time, does any one
 know
> a better way of doing it or a SQL statement that would defrag the
 table.
> Any help would be great, (and would make me look great at work).
> Thanks for all the help you can give.
> Florent.
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
>

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Mon Sep 18 2000 - 13:44:02 CDT

Original text of this message

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