

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Sugerencia de consulta typePromotion de Gremlin
<a name="gremlin-query-hints-typePromotion"></a>

Cuando envía un recorrido de Gremlin que filtra por un valor o rango numérico, el motor de consultas de Neptune debe usar normalmente la promoción de tipos cuando ejecuta la consulta. Esto significa que tiene que examinar los valores de todos los tipos que puedan contener el valor por el que se está filtrando.

Por ejemplo, si está filtrando valores iguales a 55, el motor debe buscar números enteros iguales a 55, enteros largos iguales a 55L, flotantes iguales a 55,0, etc. Cada promoción de tipo requiere una búsqueda adicional en el almacenamiento, lo que puede provocar que una consulta aparentemente simple tarde un tiempo inesperadamente largo en completarse.

Supongamos que está buscando todos los vértices con una propiedad de edad del cliente superior a 5:

```
g.V().has('customerAge', gt(5))
```

Para ejecutar ese recorrido bien, Neptune debe expandir la consulta para examinar todos los tipos numéricos a los que se pueda promover el valor que está consultando. En este caso, el filtro `gt` debe aplicarse a cualquier número entero superior a 5, a cualquier largo superior a 5L, a cualquier flotante superior a 5,0 y a cualquier doble superior a 5,0. Como cada una de estas promociones de tipos requiere una búsqueda adicional en el almacenamiento, verá varios filtros por filtro numérico cuando ejecute la consulta [API `profile` de Gremlin](gremlin-profile-api.md) y tardará mucho más en completarse de lo que cabría esperar.

A menudo, la promoción de tipos no es necesaria porque ya sabe de antemano que solo necesita encontrar valores de un tipo específico. Cuando sea así, puede acelerar considerablemente sus consultas utilizando la sugerencia de consulta `typePromotion` para desactivar la promoción de tipos.

## Sintaxis
<a name="gremlin-query-hints-typePromotion-syntax"></a>

La sugerencia de consulta `typePromotion` se especifica mediante la incorporación de un paso `withSideEffect` a la consulta.

```
g.withSideEffect('Neptune#typePromotion', true or false).gremlin-traversal
```

**nota**  
Todos los efectos secundarios de las sugerencias de consulta Gremlin están precedidos por `Neptune#`.

**Valores disponibles**
+ `true`
+ `false`

Para desactivar la promoción de tipos en la consulta anterior, utilizaría lo sigiuiente:

```
g.withSideEffect('Neptune#typePromotion', false).V().has('customerAge', gt(5))
```