This document discusses various indexing techniques used to improve the performance of data retrieval from large databases. It begins by explaining the need for indexing to enable fast searching of large amounts of data. Then it describes several conventional indexing techniques including dense indexing, sparse indexing, and B-tree indexing. It also covers special indexing structures like inverted indexes, bitmap indexes, cluster indexes, and join indexes. The goal of indexing is to reduce the number of disk accesses needed to find relevant records by creating data structures that map attribute values to locations in storage.