Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Defragmenting table
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
![]() |
![]() |