Depois de habilitada no Developer Console, a ferramenta Query Plan poderá ser acessada na guia "Query Editor" do console.
Para usar a ferramenta Query Plan, insira uma consulta no Query Editor e pressione Query Plan para exibir todas as operações de consulta e o custo de cada SOQL fornecido.
Use essa ferramenta para ativar a Query Plan para qualquer consulta SOQL de execução lenta. Ela fornecerá percepções sobre os diferentes planos e, se alguns dos filtros estiverem indexados, fornecerá o custo de usar a indexação em comparação a uma verificação de tabela completa.
Se o custo da verificação da tabela for menor do que a indexação, e a consulta estiver atingindo o tempo limite, você precisará realizar análises adicionais sobre o uso de outros filtros para aprimorar a seletividade ou se houver outro filtro seletivo nessa consulta que não esteja indexado mas for candidato a um.
A ferramenta Query Plan mostrará uma lista de planos disponíveis que nosso Query Optimizer pode usar para a consulta fornecida, organizada por custo crescente.
Cada plano conterá informações sobre Cardinalidade, Tipo de operação, Custo, Tipo de sObject e muito mais. Cada plano tem um "Tipo de operação principal", por exemplo, Indexação de campo ou Verificação de tabela completa. O plano com o menor custo é o plano usado para direcionar a execução da consulta.
Cardinalidade |
Campos |
Tipo de operação principal |
Custo |
Cardinalidade de sObject |
Tipo de sObject |
|---|---|---|---|---|---|
|
O número estimado de registros que o tipo de operação principal retornaria.
Por exemplo, o número de registros retornados se estiver usando uma tabela de indexação. | Os campos indexados usados pelo Query Optimizer. Se o tipo de operação principal for Indexação, o valor dos campos será Indexação. Caso contrário, o valor dos campos será nulo. |
O tipo de operação principal que o Salesforce usará para otimizar a consulta.
| O custo da consulta em comparação ao limite de seletividade do Force.com Query Optimizer. Valores acima de 1 significam que a consulta não será seletiva. |
A contagem aproximada de registros para o objeto consultado.
|
O nome consultado.
|
Cada plano tem seu próprio valor de custo. O valor de custo é derivado das estatísticas mais recentes do banco de dados (DB) reunido na tabela e nos valores. O plano de menor custo será o plano utilizado. Se o custo for superior a 1, significa que a consulta não será seletiva.
Se a consulta que você forneceu contiver um campo Indexado nos filtros, o plano será mostrado para esse campo apenas se você estiver usando uma operação com suporte em relação ao campo.
Veja a seguir uma lista das operações sem suporte:
A ferramenta Query Plan mostrará apenas estatísticas de campo indexado na seção do plano, não os campos que podem ser indexados. Essa ferramenta não fornecerá informações sobre os campos que podem ser indexados.
Consulte Como tornar minha consulta SOQL seletiva para saber como determinar quais campos podem ser indexados.
Os exemplos a seguir usam dois campos indexados. Uma caixa de seleção (InActiveAcc__c) e uma lista de opções (Account_Hierarchy__c) no sObject da conta.
Nota: Encontre mais exemplos de consultas na publicação original Piloto de parâmetros de feedback de recursos de consulta que fez com que essa nova ferramenta do Developer Console evoluísse.
SELECT count() FROM Account WHERE Account_Hierarchy__c = 'Parent'
Cenário: Um campo indexado com uma variável de ligação seletiva
SELECT count() FROM Account WHERE InActiveAcc__c = true AND Account_Hierarchy__c = 'Parent'
Cenário: 2 campos indexados, 1 seletivo
SELECT count() FROM Account WHERE InActiveAcc__c = true AND Account_Hierarchy__c != 'Parent' **NOTA: usando operação sem suporte na indexação**
Cenário: 2 campos indexados, 1 seletivo, MAS usando uma operação sem suporte
SELECT count() FROM Account WHERE Account_Hierarchy__c = 'Child'
Cenário: 1 campo indexado usando uma variável de ligação não seletiva (> 10% da contagem de linhas de sObject)
000386864

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.