When you search for something in a book, you donβt read every pageβyou go straight to the index. Databases work the same way. Indexing helps speed up queries by creating a shortcut to the data, instead of scanning the entire table or collection.
π What is Indexing?
Indexing is a technique that improves query performance by reducing the amount of data the database needs to scan.
- Without an index β Database checks every row/document (called a full scan)
- With an index β Database jumps directly to the relevant data Think of it as a map that points to where your data lives.
ποΈ Indexing in SQL Databases
SQL databases (like MySQL, PostgreSQL, SQL Server) use indexes on tables.
Types of SQL Indexes
- Primary Index β Automatically created on the primary key
- Unique Index β Ensures no duplicate values
- Clustered Index β Sorts and stores rows physically in order of the index
- Non-Clustered Index β Creates a separate structure pointing to the data Example in SQL
-- Create an index on the "email" column
CREATE INDEX idx_email ON users(email);
-- Query will now be faster
SELECT * FROM users WHERE email = 'test@example.com';
π Without the index, SQL would scan the entire users table. With the index, it jumps straight to the matching row.
π Indexing in MongoDB
MongoDB is a NoSQL database that stores data as documents (JSON-like). Indexes here work similarly but are more flexible.
Types of MongoDB Indexes
- Single Field Index β Index on one field
- Compound Index β Index on multiple fields
- Text Index β For searching text inside documents
- Geospatial Index β For location-based queries Example in MongoDB
// Create an index on the "email" field
db.users.createIndex({ email: 1 });
// Query will now be faster
db.users.find({ email: "test@example.com" });
- Faster queries β Saves time and resources
- Efficient range searches β Great for dates, numbers, and text
- Reduced load β Less stress on your database.
β οΈBut remember: Indexes take extra space and slow down inserts/updates because they need to be maintained.
β
Final Thoughts
Whether youβre working with SQL or MongoDB, indexing is your best friend for performance. Use it wisely:
- Index fields you query often
- Avoid indexing every field (too much overhead)
- Monitor performance with tools like EXPLAIN (SQL) or .explain() (MongoDB)

Top comments (0)