Desempenho de consulta SOQL em ambiente sandbox
1. Contiguidade de dados: os ambientes sandbox possuem dados contíguos, o que permite uma execução de consultas mais eficiente. Isso ocorre porque os dados são copiados do ambiente de produção, garantindo que os registros sejam armazenados de forma contígua, facilitando a busca eficiente dos registros pelo banco de dados[2].2. Cache e indexação: os ambientes sandbox têm cache e tamanho de índice menores em comparação aos ambientes de produção. Isso significa que o banco de dados pode acessar rapidamente os dados necessários sem ter que vasculhar um grande cache ou índice, resultando em uma execução de consulta mais rápida[2].
3. Configuração de hardware: Os ambientes sandbox normalmente são configurados com hardware menos potente em comparação com ambientes de produção. No entanto, isso também pode contribuir para uma execução mais rápida das consultas, pois o banco de dados fica menos carregado e pode responder mais rapidamente às consultas[2].
4. Fragmentação de dados: Os ambientes de produção geralmente têm dados fragmentados, o que pode levar a uma execução de consultas mais lenta. Os ambientes sandbox, por outro lado, possuem dados contíguos, reduzindo a necessidade de junções complexas e melhorando o desempenho da consulta[2].
5. Otimização de consulta: os ambientes sandbox são otimizados para desempenho de consulta. Isso inclui o uso de índices e cache, que são projetados para melhorar a velocidade de execução de consultas[2].
Melhores práticas para otimizar consultas SOQL
1. Usar campos indexados: Use campos indexados na cláusula WHERE de consultas SOQL para melhorar o desempenho da consulta[1].2. Evite NULLS: Evite usar NULLS em consultas, pois evita o uso de índices[1].
3. Use filtros de consulta: use filtros de consulta que possam destacar menos de 10% dos dados para melhorar o desempenho da consulta[1].
4. Evite curingas: Evite usar curingas em consultas, como `%`, pois evita o uso de índices[1].
5. Quebrar consultas complexas: Divida consultas complexas em consultas simples e singulares para usar índices de maneira eficaz[1].
6. Selecionar campos obrigatórios: Selecione apenas os campos obrigatórios na instrução SELECT para reduzir a quantidade de dados buscados e melhorar o desempenho da consulta[1].
Seguindo essas práticas recomendadas e compreendendo as diferenças no desempenho de consultas SOQL entre ambientes sandbox e de produção, você pode otimizar suas consultas para obter melhor desempenho e eficiência no Salesforce.
Citações:[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