A Database Index, similar to hashmap lookups increases Database READ operations. The index data structure makes this possible through several implementations.
B-Tree's or B+Tree is the general data structure used to implement the database index data structure. Both data structures are reminiscent of a binary tree. The two implementations differ because B-Tree stores data at every leaf node and a B+Tree stores data only at child nodes. To keep it simple these implementations support log(n) data operations for inserts, deletes, updates; this makes it optimal for databases.
A B+Tree will also normally connect its children sequentially - an array of child nodes if you may. The B+Tree can Binary Search or sequential access child nodes depending on the needs. A B+Tree stores DB rows, where the child nodes are DB rows.
A B-Tree only provides indexing functionality because it should be quick. Also, this tree generates at index creation, not before; saving space. The B-Tree is only for the index search. Compared to a B+Tree the primary difference is a B-Tree will only operate on the index while a B+Tree can search for any column value.
Indexing increases the READ speed from a Database system.
The data access size should be small in order to sufficiently optimize this access (a few KB at most).
While DB indexing increases READ speed there are several tradeoffs to be aware of:
Database indexing exists as a powerful resource, but also a potential burden. Indexes can speed up database queries to benefit the caller; improper use of index however can result in system degradation. Before applying this optimization determine whether the system will benefit from faster READ operations at the tradeoff of higher memory usage.