Il codice “Bulk” è un modo di scrivere il codice Apex che aiuta a risparmiare sui Governor Limit.
In sostanza evitiamo di fare troppe interrogazioni al db.
Il problema lo abbiamo per esempio quando vogliamo fare il retrive di molti dati e poi fare delle operazioni su di essi.
Esempio
trigger SoqlTriggerBulk on Account(after update) {
// Perform SOQL query once.
// Get the accounts and their related opportunities.
List<Account> acctsWithOpps =
[SELECT Id,(SELECT Id,Name,CloseDate FROM Opportunities)
FROM Account WHERE Id IN :Trigger.New];
// Iterate over the returned accounts
for(Account a : acctsWithOpps) {
Opportunity[] relatedOpps = a.Opportunities;
// Do some other processing
}
}
Il codice in alto riguarda un trigger ma può riguardare anche una normale class o una callout.
Nella prima parte del codice inseriamo in una lista, una mappa, un set i dati ottenuti da una query massiva.
Nella seconda parte trattiamo ogni singolo dato, senza dover quindi interrogare il db per ogni operazione su singolo record o campo.