11.1. Indexing¶
11.1.1. Indexing¶
11.1.1.1. Indexing¶
- Goals:
Store large files
Support multiple search keys
Support efficient insert, delete, and range queries
11.1.1.2. Files and Indexing¶
- Entry sequenced file: Order records by time of insertion.
Search with sequential search
- Index file: Organized, stores pointers to actual records.
Could be organized with a tree or other data structure.
11.1.1.3. Keys and Indexing¶
Primary Key : A unique identifier for records. May be inconvenient for search.
Secondary Key: An alternate search key, often not unique for each record. Often used for search key.
11.1.1.4. Linear Indexing (1)¶
Linear index: Index file organized as a simple sequence of key/record pointer pairs with key values are in sorted order.
Linear indexing is good for searching variable-length records.
11.1.1.5. Linear Indexing (2)¶
11.1.1.6. Tree Indexing (1)¶
Linear index is poor for insertion/deletion.
- Tree index can efficiently support all desired operations:
Insert/delete
Multiple search keys (multiple indices)
Key range search
11.1.1.7. Tree Indexing (2)¶
11.1.1.8. Tree Indexing (3)¶
- Difficulties when storing tree index on disk:
Tree must be balanced.
Each path from root to leaf should cover few disk pages.