Salesforce Governor Limits

Since Salesforce runs on multi-tenancy environment and in order to have the same performance to the database, it has imposed some runtime limits called governor limits.

There are many types of Salesforce Governor limits like Pre transaction limits, Force.com platform apex limits, static apex limits and many other limits.

Below are the Pre transaction limits

DescriptionSynchronous LimitAsynchronous Limit
Total number of SOQL queries issued (This limit doesn’t apply to custom metadata types. In a single Apex transaction, custom metadata records can have unlimited SOQL queries.)100200
Total number of records retrieved by SOQL queries50,000
Total number of records retrieved by Database.getQueryLocator10,000
Total number of SOSL queries issued20
Total number of records retrieved by a single SOSL query2,000
Total number of DML statements issued150
Total number of records processed as a result of DML statements, Approval.process, ordatabase.emptyRecycleBin10,000
Total stack depth for any Apex invocation that recursively fires triggers due to insert, update, or delete statements16
Total number of callouts (HTTP requests or Web services calls) in a transaction100
Maximum timeout for all callouts (HTTP requests or Web services calls) in a transaction120 seconds
Maximum number of methods with the future annotation allowed per Apex invocation50
Maximum number of Apex jobs added to the queue with System.enqueueJob50
Total number of sendEmail methods allowed10
Total heap size6 MB12 MB
Maximum CPU time on the Salesforce servers10,000 milliseconds60,000 milliseconds
Maximum execution time for each Apex transaction10 minutes
Maximum number of unique namespaces referenced10
Maximum number of push notification method calls allowed per Apex transaction10
Maximum number of push notifications that can be sent in each push notification method call2,000

To know more about Salesforce Governor Limits, refer this.