Getting CPU time limit exceeded issue in trigger level.
Trigger code:
list<depot__c> depotList = new list<depot__c>(); for(Depot__c depot : Trigger.new){ depotList.add(depot); } Map<Id, Asset> mapOfAsset = new Map<Id, Asset>([select id, some other required fields from Asset where (assetDepot__c IN: depotList) and (SLA__c like '%4%')]); if(mapOfAsset.size() > 0){ for(depot__c depotsasset : depotList){ for(Asset assetid : mapOfAsset.values()) { if(depotsasset.Id == assetid.assetDepot__c){ assetid.assetNearbyDepot__c = null; assetUpdate.add(assetid); } } } Map<Id, Object2__c> mapOfObject2 = new Map<Id, Object2__c>([select id, some required fields from Object2__c where obDepot__c IN: depotList]); if(mapOfObject2.size()>0){ for(Object2__c addressid : mapOfObject2.values()){ addressid.obDepot__c = null; addressUpdate.add(addressid); } } Map<id, Object3__c> mapOfObject3 = new Map<id, RMAv2__c>([select id, some required fields from RMAv2__c where (object3Depot__c IN: depotList) and (object3Sla__c like '%4%') and (object3Status__c = 'Draft')]); if(mapOfObject3.size()>0){ for(RMAv2__c rmaid : mapOfRMA.values()){ rmaid.object3Depot__c = null; rmaUpdate.add(rmaid); } } if(assetUpdate.size()>0){ update assetUpdate; //nearly 600 records } if(addressUpdate.size() > 0){ update addressUpdate; //nearly 500 records } if(object3Update.size() > 0){ update object3Update; //50 records } Nearly updating 1150 records across 3 objects. The code is already using map query to optimize. Is there way out to optimize more?.