Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Por que as consultas SOQL podem ser executadas mais rapidamente em um ambiente sandbox?


Por que as consultas SOQL podem ser executadas mais rapidamente em um ambiente sandbox?


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