What are Governor Limits in Force.com Custom App Development?
Governor Limits in Force.com Custom App Development are Salesforce’s way of forcing you to write efficient, scalable code.
The limits count for each Apex transaction. For Batch Apex, these limits are reset for each execution of a batch of records in the execute method.
This table lists limits for synchronous and asynchronous Apex (Batch Apex and future methods) when they’re different. Otherwise, this table lists only one limit that applies to both synchronous and asynchronous Apex.
Description | Synchronous Limit | Asynchronous 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.) | 100 | 200 |
Total number of records retrieved by SOQL queries | 50000 | |
Total number of records retrieved by Database.getQueryLocator | 10000 | |
Total number of SOSL queries issued | 20 | |
Total number of records retrieved by a single SOSL query | 2000 | |
Total number of DML statements issued | 150 | |
Total number of records processed as a result of DML statements, Approval.process, or database.emptyRecycleBin | 10000 | |
Total stack depth for any Apex invocation that recursively fires triggers due to insert, update, or delete statements | 16 | |
Total number of callouts (HTTP requests or Web services calls) in a transaction | 100 | |
Maximum cumulative timeout for all callouts (HTTP requests or Web services calls) in a transaction | 120 seconds | |
Maximum number of methods with the future annotation allowed per Apex invocation | 50 | |
Maximum number of Apex jobs added to the queue with System.enqueueJob | 50 | |
Total number of sendEmail methods allowed | 10 | |
Total heap size4 | 6 MB | 12 MB |
Maximum CPU time on the Salesforce servers5 | 10,000 milliseconds | 60,000 milliseconds |
Maximum execution time for each Apex transaction | 10 minutes | |
Maximum number of push notification method calls allowed per Apex transaction | 10 | |
Maximum number of push notifications that can be sent in each push notification method call | 2000 |