Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Pourquoi les requêtes SOQL peuvent-elles s'exécuter plus rapidement dans un environnement sandbox


Pourquoi les requêtes SOQL peuvent-elles s'exécuter plus rapidement dans un environnement sandbox


Performances des requêtes SOQL dans un environnement Sandbox

1. Contiguïté des données : les environnements Sandbox ont des données contiguës, ce qui permet une exécution plus efficace des requêtes. En effet, les données sont copiées à partir de l'environnement de production, garantissant que les enregistrements sont stockés de manière contiguë, ce qui facilite la récupération efficace des enregistrements par la base de données[2].

2. Cache et indexation : les environnements Sandbox ont une taille de cache et d'index plus petite que les environnements de production. Cela signifie que la base de données peut accéder rapidement aux données requises sans avoir à parcourir un cache ou un index volumineux, ce qui accélère l'exécution des requêtes[2].

3. Configuration matérielle : les environnements Sandbox sont généralement configurés avec un matériel moins puissant que les environnements de production. Cependant, cela peut également contribuer à une exécution plus rapide des requêtes car la base de données est moins chargée et peut répondre plus rapidement aux requêtes[2].

4. Fragmentation des données : les environnements de production contiennent souvent des données fragmentées, ce qui peut ralentir l'exécution des requêtes. Les environnements Sandbox, en revanche, disposent de données contiguës, ce qui réduit le besoin de jointures complexes et améliore les performances des requêtes[2].

5. Optimisation des requêtes : les environnements Sandbox sont optimisés pour les performances des requêtes. Cela inclut l'utilisation d'index et de mise en cache, conçus pour améliorer la vitesse d'exécution des requêtes[2].

Meilleures pratiques pour optimiser les requêtes SOQL

1. Utiliser les champs indexés : utilisez les champs indexés dans la clause WHERE des requêtes SOQL pour améliorer les performances des requêtes[1].

2. Évitez les NULLS : évitez d'utiliser des NULLS dans les requêtes car cela empêche l'utilisation d'index[1].

3. Utiliser des filtres de requête : utilisez des filtres de requête qui peuvent mettre en évidence moins de 10 % des données pour améliorer les performances des requêtes[1].

4. Évitez les caractères génériques : évitez d'utiliser des caractères génériques dans les requêtes, tels que `%`, car cela empêche l'utilisation d'index[1].

5. Briser les requêtes complexes : divisez les requêtes complexes en requêtes simples et singulières pour utiliser efficacement les index[1].

6. Sélectionnez les champs obligatoires : sélectionnez uniquement les champs obligatoires dans l'instruction SELECT pour réduire la quantité de données récupérées et améliorer les performances des requêtes[1].

En suivant ces bonnes pratiques et en comprenant les différences de performances des requêtes SOQL entre les environnements sandbox et de production, vous pouvez optimiser vos requêtes pour de meilleures performances et efficacité dans Salesforce.

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