

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# ANALYZE
<a name="r_ANALYZE"></a>

Actualiza las estadísticas de la tabla para que el planificador de consultas las utilice. 

## Privilegios necesarios
<a name="r_ANALYZE-privileges"></a>

Los siguientes privilegios son necesarios para ANALYZE:
+ Superusuario
+ Usuarios con el privilegio ANALYZE
+ Propietario de la relación
+ Propietario de la base de datos con quien se comparte la tabla

## Sintaxis
<a name="r_ANALYZE-synopsis"></a>

```
ANALYZE [ VERBOSE ]
[ [ table_name [ ( column_name [, ...] ) ] ]
[ PREDICATE COLUMNS | ALL  COLUMNS ]
```

## Parameters
<a name="r_ANALYZE-parameters"></a>

VERBOSE   
Una cláusula que devuelve mensajes de información de progreso acerca de la operación ANALYZE. Esta opción es útil cuando no se especifica una tabla.

 *table\$1name*   
Puede analizar tablas específicas, incluidas tablas temporales. Puede completar la tabla con el nombre de su esquema. Si lo desea, puede especificar un table\$1name para analizar una única tabla. No puede especificar más de un *table\$1name (nombre\$1de\$1tabla)* con una única instrucción ANALYZE *table\$1name (nombre\$1de\$1tabla)*. Si no se especifica un valor *table\$1name*, se analizan todas las tablas de la base de datos actualmente conectada, incluidas las tablas persistentes en el catálogo del sistema. Amazon Redshift omite el análisis de una tabla si el porcentaje de filas que se han modificado desde la última operación ANALYZE es inferior al límite de análisis. Para obtener más información, consulte [Umbral de análisis](#r_ANALYZE-threshold).  
No necesita analizar las tablas de sistema de Amazon Redshift (tablas STL y STV).

 *column\$1name*   
Si especifica un valor *table\$1name (nombre\$1de\$1tabla)*, también puede especificar una o varias columnas de la tabla (como una lista de valores separados por columnas entre paréntesis). Si se especifica una lista de columnas, solo se analizarán las columnas que aparecen en la lista.

 PREDICATE COLUMNS \$1 ALL COLUMNS   
Se trata de cláusulas que indican si ANALYZE debe incluir solo columnas de predicados. Especifique PREDICATE COLUMNS para analizar solamente las columnas utilizadas como predicados en consultas anteriores o que sean posibles candidatas para utilizarse como predicados. Especifique ALL COLUMNS para analizar todas las columnas. El valor predeterminado es ALL COLUMNS.   
Se incluye una columna en el conjunto de columnas de predicados si cualquiera de los siguientes es verdadero:  
+ La columna ha sido utilizada en una consulta como parte de un filtro, una condición de combinación o una cláusula de agrupación.
+ La columna es una clave de distribución.
+ La columna forma parte de una clave de ordenación.
Si no se marca ninguna columna como columna de predicado, por ejemplo porque la tabla aún no se ha consultado, se analizan todas las columnas incluso si PREDICATE COLUMNS está especificado. Cuando esto sucede, Amazon Redshift podría responder con un mensaje similar a No se han encontrado columnas de predicado para “*nombre-de-tabla*”. Analizando todas las columnas. Para obtener más información acerca de las columnas de predicados, consulte [Análisis de tablas](t_Analyzing_tables.md).

## Notas de uso
<a name="r_ANALYZE-usage-notes"></a>

Amazon Redshift ejecuta ANALYZE de manera automática en las tablas que usted crea con los siguientes comandos: 
+ CREATE TABLE AS
+ CREATE TEMP TABLE AS 
+ SELECT INTO

 No puede analizar una tabla externa.

No es necesario ejecutar el comando ANALYZE en estas tablas cuando se crean por primera vez. Si las modifica, debe analizarlas de la misma manera en que analiza las demás tablas.

### Umbral de análisis
<a name="r_ANALYZE-threshold"></a>

Para reducir el tiempo de procesamiento y mejorar el rendimiento general del sistema, Amazon Redshift omite la operación ANALYZE en una tabla si el porcentaje de filas que se han modificado desde que se ejecutó el comando ANALYZE por última vez es inferior al límite de análisis especificado por el parámetro [analyze\$1threshold\$1percent](r_analyze_threshold_percent.md). Por defecto, `analyze_threshold_percent` es 10. Si desea cambiar `analyze_threshold_percent` para la sesión actual, ejecute el comando [SET](r_SET.md). En el siguiente ejemplo, se cambia `analyze_threshold_percent` a 20 por ciento.

```
set analyze_threshold_percent to 20;
```

Para analizar las tablas cuando solo han cambiado unas pocas filas, establezca `analyze_threshold_percent` en un número pequeño elegido arbitrariamente. Por ejemplo, si establece `analyze_threshold_percent` como 0,01, las tablas con 100 000 000 filas no se omitirán si se han modificado al menos 10 000 filas. 

```
set analyze_threshold_percent to 0.01;
```

Si ANALYZE omite una tabla porque no cumple con el umbral de análisis, Amazon Redshift devuelve el siguiente mensaje.

```
ANALYZE SKIP
```

Para analizar todas las tablas, aunque no haya cambiado ninguna fila, establezca `analyze_threshold_percent` en 0.

Para ver los resultados de las operaciones ANALYZE, consulte la tabla del sistema [STL\$1ANALYZE](r_STL_ANALYZE.md). 

Para obtener más información acerca del análisis de tablas, consulte [Análisis de tablas](t_Analyzing_tables.md).

## Ejemplos
<a name="r_ANALYZE-examples"></a>

Analiza todas las tablas de la base de datos TICKIT y devolver la información de progreso.

```
analyze verbose;
```

Analiza solo la tabla LISTING.

```
analyze listing;
```

Analiza las columnas VENUEID y VENUENAME de la tabla VENUE. 

```
analyze venue(venueid, venuename);
```

Analiza solo columnas de predicado de la tabla VENUE.

```
analyze venue predicate columns;
```