Activity Forums Salesforce® Discussions How to Fetch more than 50k records using SOQL in Salesforce?

  • Manpreet

    Member
    April 26, 2018 at 4:32 pm

    Hi saurabh,

    Normally, queries for a single Visualforce page request may not retrieve more than 50,000 rows. In read-only mode, this limit is relaxed to allow querying up to 1 million rows.

    <apex:page controller="SummaryStatsController" readOnly="true">
    <p>Here is a statistic: {!veryLargeSummaryStat}</p>
    </apex:page>

    The controller for this page is also simple, but illustrates how you can calculate summary statistics for display on a page:

    public class SummaryStatsController
    {
    public Integer getVeryLargeSummaryStat()
    {
    Integer closedOpportunityStats =
    [SELECT COUNT() FROM Opportunity WHERE Opportunity.IsClosed = true];
    return closedOpportunityStats;
    }
    }

    Thanks.

  • Aman

    Member
    April 26, 2018 at 8:27 pm

    Hi Saurabh,

    You should look at using Batch Apex to accomplish your goals.

    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.

    Thanks

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos

Salesforce Admin Certification 2020 Questions Explained with References - Part II

Video in

How to prepare and pass Salesforce Admin Certification with Practice Exam Questions 2020 practice questions and answers for the Salesforce Administration Salesforce Certified Admin Exam Questions Salesforce Administrator Certification Exam…