Situations hashing is not advantageous - Oracle Clusters

Q.  In which of these situations hashing is not advantageous?
- Published on 04 Aug 15

a. Applications frequently perform full-table scans on the table and the table is sparsely populated
b. You cannot afford to preallocate the space that the hash cluster will eventually need
c. You cannot afford to preallocate the space that the hash cluster will eventually need
d. All mentioned above

ANSWER: All mentioned above
 

    Discussion

  • Nirja Shah   -Posted on 02 Sep 15
    - We need to decide when can we use hash clusters by contrasting situations where hashing is most useful against situations where there is no advantage.

    - If you find your decision is to use indexing rather than hashing, then you should consider whether to store a table individually or as part of a cluster.

    - Hashing is not advantageous in the following situations:

    1. Most queries on the table retrieve rows over a range of cluster key values. For example, in full table scans or queries such as the following, a hash function cannot be used to determine the location of specific hash keys. Instead, the equivalent of a full table scan must be done to fetch the rows for the query.
    SELECT . . . WHERE cluster_key < . . . ;

    2. With an index, key values are ordered in the index, so cluster key values that satisfy the WHERE clause of a query can be found with relatively few I/Os.

    3. The table is not static, but instead is continually growing. If a table grows without limit, the space required over the life of the table (its cluster) cannot be predetermined.

    4. Applications frequently perform full-table scans on the table and the table is sparsely populated. A full-table scan in this situation takes longer under hashing.

    5. You cannot afford to preallocate the space that the hash cluster will eventually need.

Post your comment / Share knowledge


Enter the code shown above:
 
(Note: If you cannot read the numbers in the above image, reload the page to generate a new one.)