Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Waarom kunnen SOQL-query's sneller worden uitgevoerd in een sandbox-omgeving?


Waarom kunnen SOQL-query's sneller worden uitgevoerd in een sandbox-omgeving?


SOQL-queryprestaties in sandbox-omgeving

1. Gegevenscontiguïteit: Sandbox-omgevingen bevatten aaneengesloten gegevens, wat een efficiëntere uitvoering van query's mogelijk maakt. Dit komt omdat de gegevens uit de productieomgeving worden gekopieerd, waardoor records op een aaneengesloten manier worden opgeslagen, waardoor het voor de database gemakkelijker wordt om records efficiënt op te halen[2].

2. Cache en indexering: Sandbox-omgevingen hebben een kleinere cache- en indexgrootte vergeleken met productieomgevingen. Dit betekent dat de database snel toegang heeft tot de vereiste gegevens zonder een grote cache of index te hoeven doorzoeken, wat resulteert in een snellere uitvoering van zoekopdrachten[2].

3. Hardwareconfiguratie: Sandbox-omgevingen worden doorgaans geconfigureerd met minder krachtige hardware vergeleken met productieomgevingen. Dit kan echter ook bijdragen aan een snellere uitvoering van zoekopdrachten, omdat de database minder belast is en sneller op zoekopdrachten kan reageren[2].

4. Gegevensfragmentatie: productieomgevingen bevatten vaak gefragmenteerde gegevens, wat kan leiden tot een langzamere uitvoering van query's. Sandbox-omgevingen daarentegen bevatten aaneengesloten gegevens, waardoor de behoefte aan complexe joins afneemt en de queryprestaties verbeteren[2].

5. Queryoptimalisatie: Sandbox-omgevingen zijn geoptimaliseerd voor queryprestaties. Dit omvat het gebruik van indexen en caching, die zijn ontworpen om de uitvoeringssnelheid van zoekopdrachten te verbeteren[2].

Best practices voor het optimaliseren van SOQL-query's

1. Gebruik geïndexeerde velden: gebruik geïndexeerde velden in de WHERE-clausule van SOQL-query's om de queryprestaties te verbeteren[1].

2. Vermijd NULLS: vermijd het gebruik van NULLS in query's, omdat dit het gebruik van indexen verhindert[1].

3. Gebruik queryfilters: gebruik queryfilters die minder dan 10% van de gegevens kunnen markeren om de queryprestaties te verbeteren[1].

4. Vermijd jokertekens: vermijd het gebruik van jokertekens in zoekopdrachten, zoals `%`, omdat dit het gebruik van indexen verhindert[1].

5. Breek complexe zoekopdrachten: deel complexe zoekopdrachten op in eenvoudige, enkelvoudige zoekopdrachten om indexen effectief te gebruiken[1].

6. Selecteer vereiste velden: Selecteer alleen de vereiste velden in de SELECT-instructie om de hoeveelheid opgehaalde gegevens te verminderen en de queryprestaties te verbeteren[1].

Door deze best practices te volgen en inzicht te krijgen in de verschillen in de prestaties van SOQL-query's tussen sandbox- en productieomgevingen, kunt u uw query's optimaliseren voor betere prestaties en efficiëntie in Salesforce.

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