Loading

Error de SOQL System.QueryException: Consultas no selectivas de tipos de objeto grandes

Fecha de publicación: Sep 24, 2021
Descripción
Si está ejecutando una consulta SOQL en un objeto con más de 200.000 registros mientras ejecuta desencadenadores, es posible que reciba el error "System.QueryException: Consultas no selectivas a tipos de objeto grandes".
Solución
Cuando ejecuta una consulta SOQL, el optimizador de consultas de Salesforce SOQL evalúa los filtros empleados en la consulta para determinar si hay algún filtro selectivo que pueda usarse para impulsar la ejecución. Cuando ejecuta desencadenadores, si no se encuentra ningún filtro selectivo, la consulta se marcará como no selectiva, y se devolverá la QueryException mencionada. 

Un filtro se trata como selectivo si se basa en un campo indexado, y se busca heurísticamente para coincidir con menos del 10% de los registros.

En algunos casos, una solución rápida sería activar la marca de Id. externo para un campo que se use en la cláusula WHERE de la consulta SOQL. Como ejemplo,

SELECT Type FROM Account WHERE Text_Field__c = '<valor>'

usaría el índice de Text_Field__c si este campo tuviera su etiqueta de Id. externo activada y el optimizador de consultas determinara heurísticamente que <valor> coincide con, como máximo, el 10% de los registros.

Para activar la etiqueta de Id. externo para un campo:
1) Desplácese a la lista de campo del objeto:

1.a) En Classic, vaya a Configuración | Crear | Objetos | <nombre del objeto> | Campos
1.b) En Lightning Experience, vaya a Configuración | Gestor de objetos | <nombre del objeto> | Campos y relaciones.

2) Después, haga clic en Modificar junto al nombre del campo para activar la casilla de verificación Id. externo.

NOTA: Si su consulta SOQL sigue sin ser selectiva incluso después de activar la marca de Id. externo en un campo usado en la cláusula WHERE, registre un caso con Asistencia para recibir más ayuda. El equipo de Asistencia determinará si hay algún candidato para el indizado personalizado o si la consulta debe modificarse para incluir filtros adicionales.

Recursos adicionales:
Número del artículo de conocimiento

000384950

 
Cargando
Salesforce Help | Article