Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Varför kan SOQL-frågor köras snabbare i en sandlådemiljö


Varför kan SOQL-frågor köras snabbare i en sandlådemiljö


SOQL-frågeprestanda i sandlådemiljö

1. Datakontiguitet: Sandlådemiljöer har sammanhängande data, vilket möjliggör effektivare exekvering av frågor. Detta beror på att data kopieras från produktionsmiljön, vilket säkerställer att poster lagras på ett sammanhängande sätt, vilket gör det lättare för databasen att hämta poster effektivt[2].

2. Cache och indexering: Sandlådemiljöer har en mindre cache- och indexstorlek jämfört med produktionsmiljöer. Detta innebär att databasen snabbt kan komma åt de data som krävs utan att behöva sålla igenom en stor cache eller index, vilket resulterar i snabbare exekvering av frågor[2].

3. Hårdvarukonfiguration: Sandlådemiljöer är vanligtvis konfigurerade med mindre kraftfull hårdvara jämfört med produktionsmiljöer. Detta kan dock också bidra till snabbare exekvering av frågor eftersom databasen är mindre belastad och kan svara snabbare på frågor[2].

4. Datafragmentering: Produktionsmiljöer har ofta fragmenterad data, vilket kan leda till långsammare exekvering av frågor. Sandlådemiljöer, å andra sidan, har sammanhängande data, vilket minskar behovet av komplexa kopplingar och förbättrar frågeprestanda[2].

5. Frågeoptimering: Sandlådemiljöer är optimerade för frågeprestanda. Detta inkluderar användningen av index och cachning, som är utformade för att förbättra exekveringshastigheten för frågor[2].

Bästa metoder för att optimera SOQL-frågor

1. Använd indexerade fält: Använd indexerade fält i WHERE-satsen i SOQL-frågor för att förbättra frågeprestanda[1].

2. Undvik NULLS: Undvik att använda NULLS i frågor eftersom det förhindrar användningen av index[1].

3. Använd frågefilter: Använd frågefilter som kan markera mindre än 10 % av data för att förbättra frågeprestanda[1].

4. Undvik jokertecken: Undvik att använda jokertecken i frågor, såsom `%`, eftersom det förhindrar användningen av index[1].

5. Break Complex Queries: Bryt komplexa frågor i enkla singularfrågor för att använda index effektivt[1].

6. Välj obligatoriska fält: Välj endast de obligatoriska fälten i SELECT-satsen för att minska mängden data som hämtas och förbättra frågeprestanda[1].

Genom att följa dessa bästa metoder och förstå skillnaderna i SOQL-frågeprestanda mellan sandlåde- och produktionsmiljöer kan du optimera dina frågor för bättre prestanda och effektivitet i Salesforce.

Citat:
[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