Разница времени выполнения в той же логике 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.