The number of queries
Each query we run takes a small amount of time to run against a database and retrieve data. Although SOQL does not count against CPU time, the time taken can still be perceived by a user. For example, we can run up to 100 queries within a synchronous transaction. If each takes 10 ms, this is an additional second of processing that occurs before our user can interact.
In Chapter 1, Common Apex Mistakes, we discussed why bulkification was important and that you should not run triggers within loops. There are also a couple of simple ways in which you can reduce the number of queries you run, helping to reduce the amount of additional querying and processing, which we will discuss next.
Retrieving child records with a sub-query
If you retrieve a record and you require child records, consider using a sub-query where appropriate to help retrieve all the necessary data at once. This is not always necessarily a good practice – for example, when determining...