I have a batch class with the below start method and its hitting error QUERY_TIMEOUT: Your query request was running for too long. The conditions added in the query are required. Is there a way to fix or optimize this query?
public Iterable<SObject> start(Database.BatchableContext context) {
List<Training__c> trainings = [
SELECT Status__c,
Type__c,
Module_Type__c,
Scheduled_Date__c, future_Schedule_date__c,future_Schedule_date2__c
FROM Training__c
WHERE Type__c = 'N/A'
AND Scheduled_Date__c = NULL
AND is_voc__c = TRUE
AND VTD1_Status__c IN ('Future Training')
AND (future_Schedule_date = TODAY OR future_Schedule_date2 = TODAY)
];
return trainings ;
}