Tabular Foundation Models (TFMs) logopeterindia.net
Knowledge Hub

Database Indexing

Database indexing: B-tree, GIN, GiST, BRIN, columnstore, LSM and vector indexes, with documentation, tools and papers.

42 topics•7 categories•Updated October 2026

What Is Database Indexing?

6 entries

A database index is a separate data structure that lets the engine find rows without scanning the whole table, much like a book index. The most common structure is the B-tree, and databases also offer hash, bitmap, GIN, GiST, BRIN, full-text, columnstore and vector indexes for specific workloads. Indexes speed up reads but cost storage and slow writes, so choosing them well is central to performance. Descriptions below follow each project's or vendor's own pages and are not rankings; release facts come from GitHub.

PostgreSQL Indexing

8 entries

The PostgreSQL manual's coverage of index types and features.

Indexing in Other Databases

9 entries

Official documentation for other engines.

LSM-Tree and Embedded Storage Engines

3 entries

Write-optimized index structures used by key-value stores.

Vector and Approximate Nearest Neighbor Indexes

5 entries

Index structures for embeddings.

Index Advisors and Analysis Tools

6 entries

Tools that suggest, test or audit indexes.

Learning Resources

5 entries

Tutorials on how indexes work.

Frequently Asked Questions

What is a database index?

A data structure that lets the database locate rows without scanning the whole table. Indexes speed up lookups, sorts and joins at the cost of extra storage and slower writes.

What is a B-tree index?

The default index type in most relational databases. It keeps keys in sorted order in a balanced tree, so equality and range lookups take a small, predictable number of page reads. Use The Index, Luke explains its structure.

Which index type should I use?

B-tree for most queries, hash for simple equality, GIN for arrays, JSONB and full-text, GiST for geometric and extensible types, BRIN for very large ordered tables, columnstore for analytic scans and HNSW or IVF-style indexes for vectors. The PostgreSQL documentation compares its index types.

What is a covering or partial index?

A covering index contains all columns a query needs so the database can answer from the index alone (an index-only scan). A partial index covers only rows that match a condition, which makes it smaller and cheaper to maintain.

How do I know which indexes to add or remove?

Check the slowest queries and their plans, then review index usage statistics for unused indexes. Tools such as HypoPG, Dexter, pganalyze, sp_BlitzIndex and cloud automatic tuning can suggest changes, which you should test before applying.

How do vector indexes work?

Approximate nearest neighbor indexes such as HNSW and IVF trade a small loss of recall for much faster similarity search over embeddings. pgvector, Faiss and JVector implement them, and the HNSW paper describes the graph-based approach. See the Vector Databases page.

How current is this page?

Links and release facts were checked on 31 October 2026. The MySQL documentation returned 403 to automated checks and is kept. LevelDB's latest release dates from 2021. Descriptions follow each project's own pages and are not rankings.