Rnewexclusive offer : Flat 20% off on live classes + 2 free self-paced courses! - SCHEDULE CALL Rnew

- Salesforce Blogs -

A Definitive Guide in 2023 To Batch Apex Class In Salesforce


Batch class in Salesforce is used to run jobs of large scale (something like thousands or millions of records) that might exceed normal processing limits. As you can process records asynchronously in batches using Batch Apex (hence the name, “Batch Apex”) to stay within platform limits. So, when you have a lot of records to process like data archiving, or cleansing, Batch Apex is your best solution.

Kick start your Cloud professional career by enrolling yourself in a comprehensive Online Salesforce Developer Training, today! 

This blog is written with the intent to make you learn:

  • How to write batch classes in Salesforce?
  • What is Salesforce Batch Apex?
  • When to use Batch Apex?
  • The best practices for writing a Batch Apex class.
  • Advantages of Batch Apex.

Then we will discuss the syntax for the Batch Apex class in detail so that you can learn practical concepts too. But first, let’s understand what Batch Apex Class is. Up-skill your career in Salesforce with our comprehensive Salesforce Certification Courses online.

What is Batch Apex Class?

What is Batch Apex Class?

As the name suggests, the batch word is used when you want to process a bulk amount of data effectively without any error that you need to apply some logic certainly. The Batch Apex class can be used conveniently here to perform a variety of tasks in real-time like data cleaning, data archiving, data analytics to maintain the quality. In simple words, Batch Apex classes are designed specially to 

process voluminous data or records together and it has maximum governor limits than the synchronous code.

Go for the most demanding Salesforce certifications in 2022 and understand the whole story behind Salesforce.

When to use Batch Apex?

Batch Apex is an essential requirement when you wanted to execute bulk records, if you are using regular apex classes then the chances of errors are higher and it may hit the governor limits too. A maximum of 200 records can be passed to every batch here. The concept has plenty of awesome advantages that you should check before moving ahead –

  • Each transaction is executed with a set of defined governor limits, Batch Apex concept makes sure that code should stay within governor limits only.
  • In case, one batch is not executed successfully then it will not roll back transactions of other batches.
  • If you wanted to process a large set of records together on regular basis then you should opt for the Batch Apex classes or schedule Batch Apex.
  • When you want an operation to be asynchronous then implement the Batch Apex class. The interface can be implemented by developers only. The batch jobs are invoked programmatically during runtime. It can be operated on any size of records, but you can add a maximum of 200 records per batch. If the size of the recordset is larger than 200 then break it down into small manageable chunks.
  • Most importantly, the interface can be scheduled to run batches at different time periods.

A well-written salesforce developer resume informs potential employers everything they need to know and furnishes reasons why the applicant is a right fit. Here’s a sample of the Salesforce Developer resume guide. 

Why Batch Apex is better than normal apex classes?


Normal Apex

Batch Apex

SOQL Queries

100 records per cycle

200 records per cycle

Records retrieval by SOQL Queries



Heap Size



Governor Limits Defined for Batch Apex

Before you write the Batch Apex code, you should focus on these governor limits for effective dealing with classes.

  • There is a maximum of five active or queued batch jobs are allowed for APEX.
  • At a particular time period, one user can open up to 50 query cursors. If the user attempts to open a new one the oldest 50 cursors will be released. Keep in mind that this limit is different for the start method in the Batch Apex class that could have a maximum of five query cursors open at a particular time.
  • Other than the start method, the rest of the methods have a limit of up to 50 cursors. This limit is tracked differently for multiple features in Force.com. For example, for a particular method, you could have 50 batch cursors, 50 Apex query cursors, and 50 VisualForce cursors open at the same time together.
  • For a database in the Batch Apex, a maximum of 50 million records can be returned at a particular time. Once all 50 million records are returned, the batch job will be terminated automatically and it is marked as the “Failure” in the end.
  • The default size for a record set in Batch Apex is 200. The governor limits should always be redefined for each set of records as per the requirement.
  • When we are talking about the callouts then start, execute, and the finish methods are limited to ten callouts per method execution.
  • There is a limit set for hours as well. For example, you can execute a maximum number of 250,000 batch execution in 24 hours.
  • At one time, only one start method will run for an organization. The batch jobs that are not started yet will stay in queue until they are not started. Keep in mind that this limit will not set any batch job to failure or it will not stop the execution of any Batch Apex jobs but run in parallel if there is more than one job scheduled in the batch.

The demand for Salesforce skilled resources is HUGE, and it is the right time for you to get into action! Read this blog on how learning Salesforce Developer skills can land you to your dream job. 

Advantage Of Using Batch Apex

Here are the advantages of Batch Apex and Batch Apex in Salesforce along with why Batch Apex should be used against normal apex:

  • Every transaction starts with a new set of governor limits, making it easier to ensure that your code stays within the governor execution limits.
  • All other successful batch transactions aren’t rolled back if one batch fails to process successfully.

Make sure to go through Salesforce blogs and training courses available on the JanBask Training which may really increase your knowledge and answer your queries related to Salesforce.

Why use Batch Apex in Salesforce instead of the normal Apex?

There are various reasons why Batch Apex is better than normal Apex.

  • SOQL queries: Normal Apex uses 100 records per cycle to execute SOQL queries. Whereas, Batch Apex does the same in 200 records per cycle.
  • Retrieval of SOQL queries: Normal Apex can retrieve 50,000 SOQL queries but, in Batch Apex, 50,000,000 SOQL queries can be retrieved.
  • Heap size: Normal Apex has a heap size of 6 MB; whereas, Batch Apex has a heap size of 12 MB.
  • Errors: When executing bulk records, Normal Apex classes are more vulnerable to encountering errors as compared to Batch Apex

By now you understand what is Batch Apex, its advantages, and when to use Batch Apex. Now let us quickly understand how to write Batch Apex class and apex best practices.

If you are all set to grow your career in Salesforce, here is your guide at – How to Become Certified Salesforce Developer!

How To Write A Batch Apex Class?

To write a Batch Apex class, you should first implement the “Database.Batchable” interface in Salesforce and include the execution of these three methods.

How to write a Batch APEX Class?

1). Start method

This method is used to collect objects or records that need to be passed to an interface method for processing. This method is called at the beginning when the Batch Apex starts to execute. In most cases, the “QueryLocator” method is used to play with the simple SOQL query and to generate the scope of objects within a batch job. In case, you wanted to do something crazy then call the API records before they are passed for execution. Further, if you wanted to set the governor limits for the total number of records retrieved by the SOQL queries then you can query up to 50 million records together. With the help of an iterable object, the governor limit for a total number of records is retrieved by SOQL queries through enforcement.

If you are still confused why you should learn Salesforce Skills, take this free Quiz on Salesforce now!

2). Execute Method

This method will perform the actual processing for each batch or chunk where data needs to be passed with the help of a method. The default size defined for each batch is 200 records maximum. If the size of the recordset is larger, break it down into manageable pieces first before you execute them. If the size is not defined well then records will not be executed in the same order as they were received by the start method.

3). Finish method

This method is responsible to perform post-processing operations like email sending or more once all batches are executed successfully. Here is the basic syntax of a Batch Apex class how are they written in the Salesforce.

Salesforce is the most demanding tool in the current technological world therefore, one must know using it properly. Learn what are the best and easy ways to learn Salesforce in 2022 from this blog. 

Batch Apex Class in Salesforce

How to use state in Batch Apex class?

A Batch Apex class is usually stateless and execution of each job in the batch is considered a discrete transaction. For example, if some batch class contains more than 1000 records then based on the default size concept total of five transactions will be performed here with a recordset of 200 each. Here you need to specify the Database. 

The stateful method in the class definition is to maintain the state across all transactions. With the help of this method, the member variables could always retain their values between multiple transactions. You must be thinking about why it is necessary but maintaining a state is beneficial to summarize records as they are processed. For example, when we are updating contact records in our batch then you wanted to keep track of the total records affected so that the same can be included for the notification email list. 

Salesforce is a well-known cloud-based CRM (Customer Relationship Management) application. This tutorial on Salesforce will help you get started with a rewarding career in Salesforce.

Now you know how to write a batch class with the help of three methods and define the state for the database. Don’t forget to practice a few examples to get a better idea of the concept. Keep in mind that APEX development and testing go hand to hand. Every time you add some records, call the Batch Apex class and check if contacts are updated properly or not as per the specified requirements. Test class for Batch Apex

It is quite impossible to miss the name Salesforce while recalling the name of the best CRMs. Here are some of the most important Salesforce features that you shouldn’t ignore in 2022.

Apex Best Practices

As discussed earlier, there are always certain things you should keep in mind when using the Batch Apex class. To make sure that batch jobs are executing faster, you should minimize the callout times for web services and tune the queries used with your Batch Apex code. The longer the Salesforce batch size would be, the more likely other job queues will be delayed when too many jobs are added together. Here are the best practices to follow by Salesforce Developers:

  • Use Batch Apex class only when you have more than one batch of records to execute. If you don’t have enough record sets then you may probably be off the Batch Apex idea and continue with normal context.
  • Tune SOQL queries together to gather records to be executed as quickly as possible.
  • Try to minimize the total number of asynchronous requests to minimize the chance of delays.
  • Add extra care when planning to invoke a batch job from a trigger. Here, you have to keep in mind that the trigger won’t be able to add more batch jobs than the specified governor limits.

Is Salesforce difficult to learn? How long does it take to learn Salesorce? These are some questions that make you feel intimidated. Check out this blog to know how long it takes to learn Salesforce. 

Key points about Batch Apex

Here are some key considerations when using Batch Apex:

  • To use Batch Apex, write an Apex class that implements Database.Batchable interface and make your class global
  • Implement the following 3 methods
    • start()
    • execute()
    • finish()
  • The default batch size is 200

These are some of the best practices of Apex, and how to use Batch Apex. 

Consider joining the JanBask Salesforce community which may keep you updated with the new trends of Salesforce and career opportunities.


This blog covers every aspect of the Batch Apex. What is meant by the Batch Apex, ist best practices, how to use, advantages, and why to use Batch Apex against normal apex. Now, you can use it successfully in your next project, and don’t forget to define governor limits well otherwise it may be annoying at the end. Today, Batch Apex class usage is growing tremendously and Salesforce developers are also excited about its benefits, and learning its core will take you a long way ahead.

Jumpstart to your Cloud professional career by enrolling yourself in a comprehensive Online Salesforce Developer Certification Course and Training, today!  If you have any questions related to Batch Apex, Salesforce certification, Salesforce career path write in the comment box below and we will guide you through.


Q1. Why should I take up your Top Online Salesforce Courses?

Ans- Since there are massive opportunities for the proper Salesforce Certification, you can gain in-depth knowledge of Salesforce topics through our industry-recognized Salesforce Courses prepared thoughtfully to suit the changing industry dynamics.

Q2. Who Should Do a Salesforce Certification Course?


  • Freshers with a graduate degree 
  • Experienced professionals looking for an exciting career in the premier cloud computing platform.
  • Learners who have an experience of two years or more and possess good analytical and problem-solving abilities.

Q3. What are the key features of your Salesforce Online Course?

Ans-  Key features of our Salesforce Online Courses are-

  • 10x higher interaction in live online classes conducted by industry experts.
  • 24*7 support system through robust mentorship.
  • Curriculum that brings the current course module, the best case studies, and projects for an inclusive learning experience.

Q4. How will I know that I need a Salesforce Developer certification course?

Ans- Go through the job profile of a Salesforce Developer. See what are the skills required to fit into that profile. If you think you can already fit into it then ok but if you feel you lack the skills that it is a sign that you will need a formal Salesforce developer training online session.

Q5. What is the objective of this course?

Ans- The objective of Salesforce developer course is to:
To make you the most demanded Salesforce Developer

  • To help you understand the basic and complex functioning of Salesforce Platform
  • Tlo give you advanced training in overall Salesforce terms, methods, tools etc.
  • To enable you to learn Salesforce developer concepts in a collaborative environment.

Q6. What skills will I learn in this course?

Ans- Once Salesforce Developer Certification Course will be completed, you will get complete knowledge of SFC data models, different building blocks of Salesforce, a deep understanding of the salesforce security model, salesforce apex triggers, salesforce test classes, and Salesforce automation options. You will be able to master the Salesforce clouds like sales cloud, service cloud, community cloud, analytics cloud, marketing cloud, etc., report generation, dashboards, and the basics of integration.

Q7. Who should attend this course?
Ans- The Salesforce developer training online course is perfect for any individual interested in mastering cloud skills and Salesforce development, particularly:

  • Students pursuing any IT course
  • Individuals looking to build a career in Salesforce
  • System administrators
  • IT managers
  • Product managers
  • App Builders
  • Developers

Q8. How should I prepare for the Salesforce Developer certification exam?
Ans- We at JanBask Training offer you the following features inside our Salesforce developer training online that help your certification journey substantially.

  • Every one of the sessions are directed in a real-time environment
  • The students are placed in a cooperative environment of learning
  • Surprise tests, live discussions are a regular part of student's everyday schedules
  • It is an extensive Salesforce developer training online that covers theory and practical training
  • It accompanies a variety of intriguing learning assets
  • Students get real-life ventures-based learning so they can get exceptional and industry-oriented training to learn Salesforce developer concepts in terms of industry application.

Q9. What are the top job profiles that Salesforce Certification will get me?


  • Salesforce Consultant
  • Salesforce App Builder
  • Salesforce Lightning Engineer
  • Salesforce Administrator
  • Salesforce Developer
  • Salesforce Service Cloud Developer

Q10. What is covered at the beginner’s level of this course?

Ans- For beginners, the online Salesforce Developer training starts with a detailed introduction to CRM, Salesforce, and cloud computing to deliver you all the necessary skills required to start with this technology.

  • is you are done with the beginning level, this is the right time for you to switch to the advanced salesforce stage.

Salesforce Tutorial Overview

fbicons FaceBook twitterTwitter google+Google+ lingedinLinkedIn pinterest Pinterest emailEmail


    Jyotika Prasad

    Through market research and a deep understanding of products and services, Jyotika has been translating complex product information into simple, polished, and engaging content for Janbask Training.


Trending Courses

AWS Course


  • AWS & Fundamentals of Linux
  • Amazon Simple Storage Service
  • Elastic Compute Cloud
  • Databases Overview & Amazon Route 53
AWS Course

Upcoming Class

1 day 12 Dec 2023

DevOps Course


  • Intro to DevOps
  • GIT and Maven
  • Jenkins & Ansible
  • Docker and Cloud Computing
DevOps Course

Upcoming Class

-0 day 11 Dec 2023

Data Science Course

Data Science

  • Data Science Introduction
  • Hadoop and Spark Overview
  • Python & Intro to R Programming
  • Machine Learning
Data Science Course

Upcoming Class

11 days 22 Dec 2023

Hadoop Course


  • Architecture, HDFS & MapReduce
  • Unix Shell & Apache Pig Installation
  • HIVE Installation & User-Defined Functions
  • SQOOP & Hbase Installation
Hadoop Course

Upcoming Class

5 days 16 Dec 2023

Salesforce Course


  • Salesforce Configuration Introduction
  • Security & Automation Process
  • Sales & Service Cloud
  • Apex Programming, SOQL & SOSL
Salesforce Course

Upcoming Class

4 days 15 Dec 2023

QA Course


  • Introduction and Software Testing
  • Software Test Life Cycle
  • Automation Testing and API Testing
  • Selenium framework development using Testing
QA Course

Upcoming Class

3 days 14 Dec 2023

Business Analyst  Course

Business Analyst

  • BA & Stakeholders Overview
  • BPMN, Requirement Elicitation
  • BA Tools & Design Documents
  • Enterprise Analysis, Agile & Scrum
Business Analyst  Course

Upcoming Class

4 days 15 Dec 2023

MS SQL Server Course

MS SQL Server

  • Introduction & Database Query
  • Programming, Indexes & System Functions
  • SSIS Package Development Procedures
  • SSRS Report Design
MS SQL Server Course

Upcoming Class

5 days 16 Dec 2023

Python Course


  • Features of Python
  • Python Editors and IDEs
  • Data types and Variables
  • Python File Operation
Python Course

Upcoming Class

4 days 15 Dec 2023

Artificial Intelligence  Course

Artificial Intelligence

  • Components of AI
  • Categories of Machine Learning
  • Recurrent Neural Networks
  • Recurrent Neural Networks
Artificial Intelligence  Course

Upcoming Class

12 days 23 Dec 2023

Machine Learning Course

Machine Learning

  • Introduction to Machine Learning & Python
  • Machine Learning: Supervised Learning
  • Machine Learning: Unsupervised Learning
Machine Learning Course

Upcoming Class

4 days 15 Dec 2023

Tableau Course


  • Introduction to Tableau Desktop
  • Data Transformation Methods
  • Configuring tableau server
  • Integration with R & Hadoop
Tableau Course

Upcoming Class

5 days 16 Dec 2023

Search Posts


Receive Latest Materials and Offers on Salesforce Course