Hash Cluster Queries

In queries of a hash cluster, the database determines how to hash the key values input by the user.

digital transformation

For example, users frequently execute queries such as the following, entering different department ID numbers for p_id:

CopySELECT *
FROM   employees
WHERE  department_id = :p_id;
 
SELECT * 
FROM   departments 
WHERE  department_id = :p_id;

SELECT * 
FROM   employees e, departments d 
WHERE  e.department_id = d.department_id
AND    d.department_id = :p_id;

If a user queries employees in department_id=20, then the database might hash this value to bucket 77. If a user queries employees in department_id=10, then the database might hash this value to bucket 15. The database uses the internally generated hash value to locate the block that contains the employee rows for the requested department.

erp

The following illustration depicts a hash cluster segment as a horizontal row of blocks. As shown in the graphic, a query can retrieve data in a single I/O.

feature

Figure 2-6 Retrieving Data from a Hash ClusterDescription of Figure 2-6 follows
Description of “Figure 2-6 Retrieving Data from a Hash Cluster”

A limitation of hash clusters is the unavailability of range scans on nonindexed cluster keys. Assume no separate index exists for the hash cluster created in Hash Cluster Creation. A query for departments with IDs between 20 and 100 cannot use the hashing algorithm because it cannot hash every possible value between 20 and 100. Because no index exists, the database must perform a full scan.

financial

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *