Number of queries
Each query we run takes a small amount of time to run against the database and retrieve data. Although SOQL does not count against CPU time, the time taken can still be perceived by the user. For example, we can run up to 100 queries. 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 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 are running, which will help to reduce the amount of additional querying and processing, which we will discuss next.
Retrieving child records with a sub query
If retrieving 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 the Batch Apex scope, it is...