How to process more than 50 million records in salesforce


Using a Batch Job with the Query Locator, it’s possible to process up to 50 million records (50,000,000). For example, we could implement a batch job that looks like this: We can then start the batch processing by calling it through Execute Anonymous or maybe through other Apex Code.


How can I get more than 50k Records in Salesforce?

You can get more than 50,000 using a Query Locator. Use Salesforce workbench to query such records. Workbench uses the salesforce rest/tooling API that doesn’t have 50K record limitation. It might happen that it will fail for 4-5 times due to huge amount of data but it would work . Other option include exporting data as csv using reports .

What is the best way to export data from Salesforce?

You can use Standard SF Weekly Data Backup export, they provide Zipped CSV for you to download easily. You can use bulk API export, if you worry about API limits you can ask salesforce for one time increase in limit for free. Show activity on this post.

How does the number of Records in a single query affect performance?

When the number of records in a single query is lower than the selectivity threshold of the Salesforce Query Optimizer, the platform can process the queries more efficiently.

What is the maximum number of records that Workbench can handle?

Workbench uses the salesforce rest/tooling API that doesn’t have 50K record limitation. It might happen that it will fail for 4-5 times due to huge amount of data but it would work .


How do I get more than 50000 records in Salesforce?

You cannot retrieve more than 50,000 records your SOQL calls in a single context. However, with Batch Apex your logic will be processed in chunks of anywhere from 1 to 200 records in a batch. You’d need to modify your business logic to take the batching into account if necessary.

How many records can be processed in Salesforce?

A maximum of 50 million records can be returned in the Database. QueryLocator object. If more than 50 million records are returned, the batch job is immediately terminated and marked as Failed. If the start method of the batch class returns a QueryLocator, the optional scope parameter of Database.

How many records can I store in Salesforce?

Required EditionsTypeMaximum LimitTotal records per object50,000Total records that can be retrieved offline50,000Total filters per object10Users per briefcaseSalesforce doesn’t limit the number of users per briefcase, but the number of records plus the number of assigned users does affect briefcase performance.3 more rows

How many records a batch can process?

Batch jobs are invoked programmatically during the runtime and can be operated on any size of records, with a maximum of 200 records per batch. You can break down a larger record data into 200 records per batch to execute it better.

How do I query more than 10000 records in Salesforce?

You could use batch apex, and it is the only way by which you can query some millions of records without hitting the governor limits. You can find the document for writing batch apex here. Thanks. you can fetch the records in batches in 200 (the implicit query more pattern).

How do I increase batch size in Salesforce?

You Can Not Changed Batch size from UI it can be changed through Apex code By default Batch size is 200 but you can customize your batch size that you want, Go to Setup –> Open Developer Console.

Can Salesforce handle millions of records?

Can a Salesforce instance contain 50+ million records? Almost certainly. I’ve seen instances with millions of records, although none as large as 50 million. A Salesforce sales person would be able to confirm the max size of a table, if there is one.

How do I increase data storage in Salesforce?

Increase StoragePurchase more storage space, or add user licenses in Professional, Enterprise, Unlimited, and Performance Editions.Delete outdated leads or contacts.Remove any unnecessary attachments.Delete files in Salesforce CRM Content.

What are the limitations in Salesforce?

Per-Transaction Apex LimitsDescriptionSynchronous LimitAsynchronous LimitMaximum CPU time on the Salesforce servers 510,000 milliseconds60,000 millisecondsMaximum execution time for each Apex transaction10 minutes10 minutesMaximum number of push notification method calls allowed per Apex transaction101016 more rows

What is batch size in Salesforce?

The default batch size is 200 records. Batches of records are not guaranteed to execute in the order they are received from the start method.

What is QueryLocator in Salesforce?

QueryLocator object when you are using a simple query (SELECT) to generate the scope of objects used in the batch job. If you use a querylocator object, the governor limit for the total number of records retrieved by SOQL queries is bypassed but we can retrieve up to 10,000 records. To add more – Database.

How many batch classes we can run at the same time Salesforce?

You can have five queued or active batch jobs at one time.

What is Asynchronous Apex?

Asynchronous Apex allows us to run processes in a separate thread at a later time without having the user sit around waiting for a task to finish. The benefits of asynchronous apex are User Efficiency, Scalability and higher limits.

Future Methods

A Future Method is an asynchronous method that runs in the background on another thread. We should think of a future method as a quick way to do a relatively small task on a small number of records.

Batch Apex

Batch apex runs asynchronously based on available resources and can chunk up the data per batch OR we can provide our own batch sizes.

Queueable Apex

Queueable Apex allows us to add jobs to the Queue and to be able to monitor them. Queueable Jobs are very similar to Future Methods but have a future other benefits.

Scheduled Apex

Scheduled Apex is Apex that is set to run at a certain time – it could be set to run every hour, every day, every week or etc. The main point is that Scheduled Apex enters the queue at the scheduled time and executes at some point after that.

Wrapping it Up

In this blog post, we’ve covered the various ways that we can execute asynchronous apex which has a lot less limits then synchronous apex. The future method is a good first step, but there’s a lot more scalable ways to build out your system.


Leave a Comment