Question: what are the batch apex best practices?
Answer: Only use Batch Apex if you have more than one batch of records. ... 
Tune any SOQL query to gather the records to execute as quickly as possible.
Minimize the number of asynchronous requests created to minimize the chance of delays.
Use extreme care if you are planning to invoke a batch job from a trigger.