Hi Jay,

Hash clusters are always created at full size based on the HASHKEYS and
SIZE parameters. Thus the high-water mark immediately reflects the
expected size of the segment, even before it contains any data. The
high-water mark is only raised if block chaining becomes necessary,
which should hopefully be rare. This means that, apart from block
chaining, the full table scan cost of a hash clustered table is
invariant on the number of rows in the table.

What you are seeing is the normal, expected behaviour. If the
performance of this query is important, you should provide an index that
the optimizer can use to satisfy the query instead of using a full table
scan.

Hash clusters cannot be truncated. You would get ORA-03293 if you were
to try.

@   Regards,
@   Steve Adams
@   http://www.ixora.com.au/
@   http://www.christianity.net.au/



-----Original Message-----
Sent: Monday, 26 March 2001 14:20
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]


  I am brand-spankin' new to Hash Clusters and we are bringing up an
application that uses them.  One of the consultants that is helping to
implement this application is having a performance issue querying
against a table in the hash cluster.  The table is empty.  The statement
is:

SQL> set timing on
SQL> select count(1)
  2  from sysadm.rtx_lt_001;

  COUNT(1)
----------
         0

Elapsed: 00:00:53.85


  I analyzed the schema using estimate statistics,  which has seemed to
help slightly. Now, I see that the HC_RTX_LT_001 segment has 16 extents,
but a min_extents of only 1.  How could it have been created that way?
My guess is by using import, without compress=y.  I am really tempted to
truncate this table, since it is empty, but I do not know if that is a
wise thing to do with hash clusters.
  Any thoughts or guidelines on hash clusters is welcomed!  We are
running 8.1.6.2.0 on Compaq Tru64 5.1.

Jay Hostetter

SQL> run
  1  select
table_name,cluster_name,initial_extent,next_extent,min_extents
  2  from dba_tables
  3* where table_name = 'RTX_LT_001'

TABLE_NAME                     CLUSTER_NAME
INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
------------------------------ ------------------------------ ----------
---- ----------- -----------
RTX_LT_001                     HC_RTX_LT_001
104857600   104857600           1

SQL> run
  1  select cluster_name,cluster_type,key_size,
initial_extent,next_extent,min_extents
  2      from dba_clusters
  3*    where cluster_name = 'HC_RTX_LT_001'

CLUSTER_NAME    CLUST   KEY_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
--------------- ----- ---------- -------------- ----------- -----------
HC_RTX_LT_001   HASH       16384      104857600   104857600           1


SQL> run
  1  select segment_name,initial_extent,next_Extent,min_Extents,extents
  2  from dba_segments
  3* where segment_name = 'HC_RTX_LT_001'

SEGMENT_NAME                   INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
EXTENTS
------------------------------ -------------- ----------- ----------- --
--------
HC_RTX_LT_001                       104857600   104857600           1
16



--------
Think you know someone who can answer the above question? Forward it to
them!
to unsubscribe, send a blank email to [EMAIL PROTECTED]
to subscribe send a blank email to [EMAIL PROTECTED]
Visit the list archive: http://www.LAZYDBA.com/odbareadmail.pl
Tell yer mates about http://www.farAwayJobs.com

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Steve Adams
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to