Manage Large Data Volumes In Salesforce

Blog > How to Manage Large Data Volumes In Salesforce

How to Manage Large Data Volumes (LDV) in Salesforce: A Step-by-Step Guide

Managing Large Data Volumes (LDV) in Salesforce is one of the biggest challenges organizations face as their CRM grows. When your Salesforce org contains millions of records, poor data management can lead to slow performance, long report loading times, integration failures, and frustrated users.

This guide explains practical strategies and best practices to efficiently manage large data volumes in Salesforce and maintain optimal performance.


salesforce ldv

What is Large Data Volume (LDV) in Salesforce?

Large Data Volumes (LDV) in Salesforce is defined as situations where objects contain hundreds of thousands, millions, or even billions of records. At this scale, standard operations—such as queries, reports, list views, triggers, sharing recalculations, and data loads—can slow down or hit governor limits.

Salesforce does not specify a fixed number to classify LDV, as it depends on the org’s architecture, data model, and usage. However, in real-world implementations, LDV scenarios typically include:


  • Objects with more than 5 million records
  • Tens of thousands of concurrent users accessing the system
  • Lookup or parent records with over 10,000 related child records
  • Objects containing many fields or large data types, such as long text or files
  • Org data storage exceeding 100 GB

As data grows, proper indexing, archiving, and optimized design become essential to maintain performance and scalability.


Why Managing Large Data Volumes is Important ?

When data reaches LDV scale, it can significantly affect overall system efficiency and stability. Common impacts include:

  • Slower performance, including delayed queries and timeouts
  • Data load failures during imports or integrations
  • Delays in sharing rule recalculations
  • Reports taking longer to generate
  • Record locking and concurrency issues
  • Long-running or slow Apex jobs
  • Governor limit exceptions, causing processes to fail

Ways to Manage Large Data Volumes (LDV) in Salesforce

Managing LDV requires optimizing how data is stored, queried, and maintained. The goal is to reduce processing load, improve performance, and prevent governor limit issues. Below are the key strategies to keep in mind:



1. Use Selective Queries

Selective queries are one of the most important factors in maintaining performance in large data environments. When queries retrieve too many records without proper filtering, Salesforce performs full-table scans, which significantly slow down performance and may even cause timeouts.

Selective queries help Salesforce retrieve only the required records instead of scanning the entire object. This improves speed and prevents timeouts.

Best Practices:

  • Filter using indexed fields
  • Avoid querying unnecessary records
  • Always use WHERE conditions
  • Test using Query Plan tool

2. Create Custom Indexes

Indexes help Salesforce locate data faster, just like an index in a book helps you find specific topics quickly. By default, Salesforce indexes certain standard fields, but in large data scenarios, this may not be enough.

Creating custom indexes on frequently searched fields can dramatically improve performance. For example, if your users frequently search records by Customer ID or Status, indexing those fields will make queries, reports, and list views much faster. Custom indexes must be requested through Salesforce Support.

Best Practices:

  • Index frequently filtered fields
  • Index External ID fields
  • Index lookup fields

3. Archive Old Data

Not all data needs to remain in active use forever. As records accumulate over the years, they increase object size and slow down operations. Archiving helps by moving old or unused records out of active objects while still keeping them available for reference if needed.

Best Practices:

  • Archive old records regularly
  • Move data to archive objects
  • Use Big Objects for history
  • Store in external systems if needed

4. Use Batch Apex for Large Processing

Processing large numbers of records in a single transaction can quickly hit governor limits and cause failures. Batch Apex solves this problem by processing records in smaller chunks, typically 200 records at a time.


global class UpdateAccounts implements Database.Batchable<sObject>{

global Database.QueryLocator start(Database.BatchableContext BC){
return Database.getQueryLocator('SELECT Id FROM Account');
}

global void execute(Database.BatchableContext BC, List<Account> scope){

}

global void finish(Database.BatchableContext BC){

}
}

Benefits:

  • Processes records in batches
  • Avoids limit exceptions
  • Ideal for millions of records
  • Can run on schedule

5. Avoid Too Many Lookup Relationships

Objects with too many lookup or master-detail relationships can slow down performance, especially during queries and sharing calculations. Each relationship adds complexity and increases processing time.

Best Practices:

  • Use master-detail instead of lookup when you need roll-ups and tight coupling
  • Keep lookup relationships optimized
  • Remove unused fields

6. Delete Unnecessary Data

Over time, Salesforce orgs accumulate duplicate records, test data, and outdated information. This unnecessary data increases storage usage and affects performance. Regular data cleanup helps maintain system efficiency. Removing unused records improves query performance, reduces storage costs, and keeps your system organized.

Best Practices:

  • Remove duplicate records
  • Delete test data
  • Remove obsolete records
  • Clean regularly

7. Use Skinny Tables

Skinny tables are special tables created by Salesforce that contain only frequently used fields. They improve performance by reducing the amount of data Salesforce needs to retrieve during queries. However, they can only be created and managed by Salesforce Support.

Benefits:

  • Improves report speed
  • Improves query speed
  • Reduces data load

8. Optimize Reports and List Views

Reports and list views can become slow when they attempt to retrieve too much data. This not only affects performance but also impacts user productivity.

To optimize performance, always use filters to limit the number of records displayed. Avoid unnecessary columns and focus only on relevant data.

Best Practices:

  • Always apply filters
  • Avoid too many columns
  • Limit record count
  • Use summary reports

9. Use Bulk API for Data Operations

When importing, updating, or deleting large amounts of data, using standard methods can be slow and inefficient. Bulk API is specifically designed to handle large-scale data operations efficiently.

It processes data asynchronously and in batches, reducing processing time and preventing performance issues. Tools like Data Loader use Bulk API and are highly recommended for managing large datasets.


10. Use Big Objects for Massive Data

When your data grows to tens or hundreds of millions of records, standard objects may no longer be sufficient. Big Objects are designed to handle extremely large datasets efficiently. They are ideal for storing historical data, logs, and audit records.

Benefits:

  • Supports billions of records
  • Ideal for historical data
  • Improves main object performance
  • Highly scalable

SUMMARY

Managing LDV correctly requires the right architecture, indexing strategy, and performance optimization. If not handled properly, it can lead to slow performance, integration failures, and scalability issues. Our certified Salesforce consultants can help you optimize your org for maximum performance and reliability.

Crafting Tomorrow's Solutions Today.

Got something on your mind! Connect with us.

Fill out the following form & we will get back to you.