Du er her:
Relasjonsnotasjon kontra flere uttrekkstrinn
Bruk av relasjonsnotasjon forbedrer ytelsen til Omnistudio-datatilordninger som henter data fra en overordnet til primærobjektet. Bruk denne notasjonen i fanen Trekk ut JSON-baner for det overordnede objektets felt i stedet for å legge til et annet objekt i fanen Datatilordningens uttrekk.
Relasjonsnotasjon i Datatilordninger er basert på relasjonsspørringer i Salesforce. Hvis du vil ha mer informasjon om relasjonsnavn og andre relevante emner, kan du se Relasjonsspørringer i Salesforce Hjelp. Du kan bruke bare underordnet-til-overordnet-relasjonsspørringer i Datatilordninger.
Anta at du vil hente kontaktdata som inkluderer navnet på kontoen som kontakten er tilknyttet, og at kontoen er et overordnet objekt for Kontakt. Du kan bruke flere uttrekkstrinn eller relasjonsnotasjon.
Hvis du vil bruke flere uttrekkstrinn, definerer du først uttrekkstrinn for Kontakt- og Konto-objekter på fanen Data Mapper's Extract (Datatilordningens uttrekk). Definer deretter Trekk ut JSON-baner for feltene Kontakt og Konto.
For å bruke relasjonsnotasjon definerer du først et uttrekkstrinn for Kontakt-objektet på fanen Data Mapper's Extract (Datatilordningens uttrekk). Definer deretter Trekk ut JSON-baner for feltene Kontakt og Konto.
Trekk ut JSON-bane for Navn-feltet til Konto-objektet er Account.Name. Account er navnet på relasjonen som Kontakt-objektet har med det overordnede Konto-objektet. Relasjonsnavnet er forskjellig fra navnet på feltet som refererer til det overordnede objektet, som er AccountId. De fleste relasjonsnavn for standardobjekter følger denne konvensjonen og utelater Id-suffikset.
Hvis du oppgir en kontakt-ID på Forhåndsvisning-fanen, får du det samme svaret for denne kontakten for begge datatilordningene:
{
"CompanyName": "Acme",
"LastName": "Tomlin",
"FirstName": "Leanne"
}Hvis du ser i feilsøkingsloggen, ser du imidlertid to SOQL-spørringer for datatilordneren som bruker flere uttrekkstrinn:
SELECT id, accountid, firstname, lastname, name FROM Contact WHERE (Id = '0031U00000HUob9QAD')
SELECT id, name FROM Account WHERE (Id = '0011U00000KbYZAQA3')
Du ser bare én SOQL-spørring for Datakart som bruker relasjonsnotasjon:
SELECT id, firstname, lastname, account.name FROM Contact WHERE (Id = '0031U00000HUob9QAD')
Å kjøre bare én SOQL-spørring per primærobjekt er alltid merkbart raskere enn å kjøre to. En datatilordner utfører behandlingstrinn for hver SOQL-spørring som den kjører, og Salesforce bidrar også med overhead for hver SOQL-spørring. Med én spørring i stedet for to får du halvparten av overskuddet.
