Consider a relation R with some attribute A taking values over domain D. A membership (or equality) query retrieves all tuples in R with A = x (x ∈ D). To enable fast processing of such equality selection queries, an access method that can group records by their value on attribute A is needed. A hash-based scheme maps the search-key values on a collection of buckets. The bucket to which a value is assigned (mapped) is determined by a function, called the hashing function.
A major performance goal of a database management system is to minimize the number of I/O’s (i.e., blocks or pages transferred) between the disk and main memory when answering a query. To achieve such fast access, additional data structures called access methods (or indices) are designed per database file. There are two fundamental access methods, namely tree-based and hash-based indexing. They differ on the...