No recuperar la entidad todas las columnas mediante las API de consultaDo not retrieve Entity all columns via query APIs

Categoría: rendimientoCategory: Performance

Potencial de impacto: altoImpact potential: High

SíntomasSymptoms

Recuperar todas las columnas puede provocar:Retrieving all columns can cause:

  • Problemas de rendimiento por la cantidad de datos recuperadosPerformance issues due to the amount of data being retrieved
  • Ejecución involuntaria de complementos y procesosUnintended plug-in/process execution

InstruccionesGuidance

Para obtener un rendimiento óptimo, debe seleccionar solo una cantidad mínima de datos necesarios por su aplicación cuando se consultan datos de Common Data Service.For optimal performance, you should only select the minimum amount of data needed by your application when querying Common Data Service data.

Parámetro de ColumnSetColumnSet Parameter

Cuando usa el método IOrganizationService.RetrieveWhen you use the IOrganizationService.Retrieve establezca el parámetro columnSet en una instancia ColumnSet con columnas especificadas.method set the columnSet parameter to a ColumnSet instance with specified columns. Cuando se use QueryExpression establezca la propiedad ColumnSet con los atributos requeridos.When you use QueryExpression set the ColumnSet property with the required attributes.

Estos son algunos ejemplos:The following are some examples:

Las siguientes contienen una instancia ColumnSet:The following classes contain a ColumnSet instance:

Patrones problemáticosProblematic patterns

Las consultas que incluyen un ColumnSet definido donde la propiedad AllColumns es true indican a la plataforma que emita un comando de SQL para "SELECT *" en todos los datos físicos incluidos en el plan de consultas.Queries that include a defined ColumnSet where the AllColumns property is true instruct the platform to issue a SQL command to "SELECT *" on all physical data included in the query plan. Este escenario debe evitarse siempre que sea posible.This scenario should be avoided whenever possible.

Advertencia

Estos escenarios deben evitarse.These scenarios should be avoided.

Información adicionalAdditional information

Las consultas enviadas para recuperar los datos de Microsoft Dynamics 365 no deben seleccionar todas las columnas.Queries submitted to retrieve data from Dynamics 365 should not select all columns. En su lugar, especifique columnas individuales específicas que se deben especificar en la instancia ColumnSet asociada a la consulta.Rather, specific individual columns should be specified in the ColumnSet instance associated to the query. Recuperar todas las columnas de una entidad puede tener un impacto negativo en el rendimiento.Retrieving all columns for an entity can have a negative impact on performance. Además, puede desencadenar involuntariamente eventos de complementos al recuperar columnas con la que no trabaja y emitir una actualización.Additionally, you can unintentionally trigger plug-in registration events by retrieving columns you are not working with and issuing an update.

Vea tambiénSee also

ColumnSet Class
Usar la clase ColumnSetUse of the ColumnSet Class
Crear consultas con QueryExpressionBuild queries with QueryExpression