Prestazioni delle query SOQL nell'ambiente Sandbox
1. Contiguità dei dati: gli ambienti sandbox hanno dati contigui, il che consente un'esecuzione delle query più efficiente. Questo perché i dati vengono copiati dall'ambiente di produzione, garantendo che i record siano archiviati in modo contiguo, rendendo più semplice per il database recuperare i record in modo efficiente[2].2. Cache e indicizzazione: gli ambienti sandbox hanno dimensioni di cache e indice inferiori rispetto agli ambienti di produzione. Ciò significa che il database può accedere rapidamente ai dati richiesti senza dover vagliare una cache o un indice di grandi dimensioni, con conseguente esecuzione delle query più rapida[2].
3. Configurazione hardware: gli ambienti sandbox sono generalmente configurati con hardware meno potente rispetto agli ambienti di produzione. Tuttavia, ciò può anche contribuire a un'esecuzione più rapida delle query poiché il database è meno caricato e può rispondere più rapidamente alle query[2].
4. Frammentazione dei dati: gli ambienti di produzione spesso hanno dati frammentati, il che può portare a un rallentamento dell'esecuzione delle query. Gli ambienti sandbox, d'altro canto, hanno dati contigui, riducendo la necessità di join complessi e migliorando le prestazioni delle query[2].
5. Ottimizzazione delle query: gli ambienti sandbox sono ottimizzati per le prestazioni delle query. Ciò include l'uso di indici e memorizzazione nella cache, progettati per migliorare la velocità di esecuzione delle query[2].
Migliori pratiche per l'ottimizzazione delle query SOQL
1. Utilizza campi indicizzati: utilizza i campi indicizzati nella clausola WHERE delle query SOQL per migliorare le prestazioni delle query[1].2. Evita NULLS: evita di utilizzare NULLS nelle query poiché impedisce l'uso di indici[1].
3. Utilizza filtri di query: utilizza filtri di query in grado di evidenziare meno del 10% dei dati per migliorare le prestazioni delle query[1].
4. Evita i caratteri jolly: evita di utilizzare i caratteri jolly nelle query, come `%`, poiché impedisce l'uso degli indici[1].
5. Dividi query complesse: suddividi le query complesse in semplici query singolari per utilizzare gli indici in modo efficace[1].
6. Seleziona campi obbligatori: seleziona solo i campi obbligatori nell'istruzione SELECT per ridurre la quantità di dati recuperati e migliorare le prestazioni delle query[1].
Seguendo queste best practice e comprendendo le differenze nelle prestazioni delle query SOQL tra ambienti sandbox e di produzione, puoi ottimizzare le tue query per ottenere prestazioni ed efficienza migliori in Salesforce.
Citazioni:[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