Usually, start revealing more bits of the hash value as the table grows. Practical Considerations Buckets map to pages. Must be able to directly translate from a bucket number to a page number. Use free list to manage overflow buckets. Static hashing isn't very practical.
Databases change in size fairly substantially.
If you have to preallocate, often waste space. Dynamic hash implementation. Periodically double the size of the database. Rehash every key into new table. Grow table one bucket at a time.