Saturday, 28 November 2020

Understanding the impact of Indexes in MongoDB - How much execution time with and without Index?

🚀 Speed Up Your Database with Ram N Java!

Want to master MongoDB performance optimization? Subscribe now for clear, data-driven tech tutorials that help you build lightning-fast applications!

🔔 SUBSCRIBE TO OUR CHANNEL

Analyzing the Impact of MongoDB Indexes

In a database with millions of records, searching for a specific document without an index is like trying to find a single word in a book without an index page—you have to scan every single page. In MongoDB, this is called a Collection Scan (COLLSCAN), and it can be incredibly slow.

Execution Time: Before vs. After

The best way to understand the power of indexing is to see the numbers. By using the .explain("executionStats") method, we can compare how the database performs under different conditions:

1. Before Indexing (The Slow Way)

Without an index, MongoDB performs a linear scan. For large datasets, the executionTimeMillis can reach hundreds or even thousands of milliseconds as the engine examines every document.

2. After Indexing (The Fast Way)

Once an index is created on the query field, MongoDB switches to an Index Scan (IXSCAN). The execution time often drops to 0ms or 1ms, because the engine knows exactly where the data is located.

// Check performance in MongoDB Shell db.collection.find({ "email": "test@example.com" }).explain("executionStats")

Key Metrics to Watch

  • nReturned: The number of documents that matched the query.
  • totalKeysExamined: How many index entries were scanned.
  • totalDocsExamined: How many actual documents were read from disk.

💡 Performance Tip

Indexes aren't free! While they make Reads incredibly fast, they can slightly slow down Writes (insert, update, delete) because the index must be updated too. Only index the fields you query most often!

More Performance Guides from Ram N Java:

No comments:

Post a Comment

Tutorials