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)¶
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.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.