Разница времени выполнения в той же логике SOQL

Я хочу обновить поле Billing_Address__c Контакта с полем Billing_Address__c Аккаунта при каждом обновлении Billing_Address__c Аккаунта. Набор с именем accIds уже содержит идентификаторы обновленной учетной записи. Из двух методов запросов SOQL мы можем получить контакт, а затем обновить.

Первая >>>

for(Contact con : [Select Account.Billing_Address__c,Billing_Address__c FROM Contact where AccountID IN :accIds]){ а затем обновил каждый контакт.

Второй >>>

 for(Account acc :  [Select Billing_Address__c,(SELECT Billing_Address__c FROM Contacts) FROM Account where ID IN :accIds]){ 
       for(Contact con : acc.Contacts ) 

а затем обновить контакт. Есть ли разница во времени выполнения, и если да, что быстрее?

1 ответ

Вы должны опубликовать это в Salesforce Stack, но..

Во-первых, время выполнения не очень. Но это помогает управлять размером кучи, но этот вопрос потерял некоторый контекст из предыдущего поста. Я написал это так, потому что не было никаких причин для этого дополнительного списка, поэтому он экономил 1 List

Для второго.. Зачем тебе 2 петли? В этом случае нет причин для этого, и это определенно не даст вам больше скорости. Вы можете проверить это сами, используя класс Limits.

Другие вопросы по тегам