Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Perché le query SOQL potrebbero essere eseguite più velocemente in un ambiente sandbox


Perché le query SOQL potrebbero essere eseguite più velocemente in un ambiente sandbox


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