Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvorfor kan SOQL-forespørgsler køre hurtigere i et sandkassemiljø


Hvorfor kan SOQL-forespørgsler køre hurtigere i et sandkassemiljø


SOQL-forespørgselsydeevne i sandkassemiljø

1. Datakontiguitet: Sandbox-miljøer har sammenhængende data, hvilket giver mulighed for mere effektiv udførelse af forespørgsler. Dette skyldes, at dataene kopieres fra produktionsmiljøet, hvilket sikrer, at poster gemmes på en sammenhængende måde, hvilket gør det nemmere for databasen at hente poster effektivt[2].

2. Cache og indeksering: Sandbox-miljøer har en mindre cache og indeksstørrelse sammenlignet med produktionsmiljøer. Dette betyder, at databasen hurtigt kan få adgang til de nødvendige data uden at skulle gennemsøge en stor cache eller et indeks, hvilket resulterer i hurtigere udførelse af forespørgsler[2].

3. Hardwarekonfiguration: Sandbox-miljøer er typisk konfigureret med mindre kraftfuld hardware sammenlignet med produktionsmiljøer. Dette kan dog også bidrage til hurtigere udførelse af forespørgsler, da databasen er mindre belastet og kan reagere hurtigere på forespørgsler[2].

4. Datafragmentering: Produktionsmiljøer har ofte fragmenterede data, hvilket kan føre til langsommere udførelse af forespørgsler. Sandbox-miljøer har på den anden side sammenhængende data, hvilket reducerer behovet for komplekse joinforbindelser og forbedrer forespørgselsydeevne[2].

5. Forespørgselsoptimering: Sandbox-miljøer er optimeret til forespørgselsydeevne. Dette inkluderer brugen af ​​indekser og caching, som er designet til at forbedre forespørgselsudførelseshastigheden[2].

Bedste praksis for optimering af SOQL-forespørgsler

1. Brug indekserede felter: Brug indekserede felter i WHERE-klausulen i SOQL-forespørgsler for at forbedre forespørgselsydeevnen[1].

2. Undgå NULLS: Undgå at bruge NULLS i forespørgsler, da det forhindrer brugen af ​​indekser[1].

3. Brug forespørgselsfiltre: Brug forespørgselsfiltre, der kan fremhæve mindre end 10 % af dataene for at forbedre forespørgselsydeevnen[1].

4. Undgå jokertegn: Undgå at bruge jokertegn i forespørgsler, såsom `%`, da det forhindrer brugen af ​​indekser[1].

5. Break komplekse forespørgsler: Opdel komplekse forespørgsler i simple enkeltstående forespørgsler for at bruge indekser effektivt[1].

6. Vælg påkrævede felter: Vælg kun de påkrævede felter i SELECT-sætningen for at reducere mængden af ​​hentede data og forbedre forespørgselsydeevnen[1].

Ved at følge disse bedste fremgangsmåder og forstå forskellene i SOQL-forespørgselsydeevne mellem sandkasse- og produktionsmiljøer, kan du optimere dine forespørgsler til bedre ydeevne og effektivitet i Salesforce.

Citater:
[1] https://www.apexhours.com/large-data-volumes-ldv-in-salesforce/
[2] https://salesforce.stackexchange.com/questions/42163/performance-difference-between-sandbox-and-production-instances
[3] https://coefficient.io/salesforce-tutorials/how-to-run-soql-query-in-salesforce
[4] https://bluecanvas.io/blog/optimizations-for-salesforce-orgs-with-lots-of-data-part-2
[5] https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T4MRBSA3