Junior — Middle
Can you explain what a hash index is and what role it plays in data search optimization?
sobes.tech AI
Answer from AI
A hash index is a data structure used for fast record lookup in a database by key. It is based on a hash function that converts the key value into an index (hash), which can be quickly used to find the desired record.
Role of hash index in search optimization:
- Allows search, insert, and delete operations to be performed in constant time on average (O(1)), which is significantly faster than sequential search.
- Especially effective for exact key searches but not suitable for range queries (e.g., finding all values within an interval).
Example: if you have a user table with a unique identifier, a hash index on this identifier allows you to quickly find a user without scanning all records.
In Go, a simple implementation of a hash index can be represented using the built-in map:
// Example of a simple hash index
users := make(map[int]string) // key - user ID, value - name
// Adding
users[101] = "Ivan"
// Searching
name, exists := users[101]
if exists {
fmt.Println("User found:", name)
}