

 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/). 

# Claves de clasificación
<a name="t_Sorting_data"></a>

**nota**  
Se recomienda que cree sus tablas con `SORTKEY AUTO`. En este caso, Amazon Redshift utiliza la optimización automática de tablas para elegir la clave de ordenación. Para obtener más información, consulte [Optimización de tablas automática](t_Creating_tables.md). En el resto de esta sección, se proporcionan detalles sobre el orden. 

Cuando se crea una tabla, se pueden definir, como alternativa, una o varias de sus columnas como *claves de ordenación*. Cuando carga por primera vez los datos en una tabla vacía, las filas se almacenan en el disco de forma ordenada. Se transmite la información relacionada con las columnas con clave de ordenación al planificador de consultas, que utiliza esta información para construir planes que aprovechen la forma en la que se almacenan los datos. Para obtener más información, consulte [CREATE TABLE](r_CREATE_TABLE_NEW.md). Para obtener información sobre las prácticas recomendadas a la hora de crear una clave de clasificación, consulte [Elección de la clave de clasificación recomendada](c_best-practices-sort-key.md).

La ordenación permite encargarse eficazmente de predicados restringidos por rangos. Amazon Redshift .almacena los datos de columna en bloques de disco de 1 MB. Los valores mínimo y máximo de cada bloque se almacenan como parte de los metadatos. Si una consulta usa un predicado de rango restringido, el procesador de consultas puede usar los valores mínimos y máximos para omitir rápidamente grandes cantidades de bloques durante los análisis de las tablas. Por ejemplo, supongamos que una tabla almacena cinco años de datos ordenados por fecha y una consulta especifica un rango de fechas correspondiente a un mes. En este caso, se puede eliminar hasta el 98 % de los bloques de disco del análisis. Si los datos no están ordenados, se deben examinar más bloques del disco (posiblemente todos). 

Puede especificar una clave de ordenación compuesta o intercalada. Una clave de ordenación compuesta es más eficaz cuando los predicados de la consulta usan un *prefijo*, que es un subconjunto ordenado de columnas de clave de ordenación. Una clave de ordenación intercalada le otorga el mismo peso a cada columna de la clave de ordenación, por lo que los predicados de la consulta pueden usar cualquier subconjunto de columnas que conforman la clave de ordenación, en cualquier orden. 

Para comprender el impacto de la clave de ordenación seleccionada en el rendimiento de las consultas, utilice el comando [EXPLAIN](r_EXPLAIN.md). Para obtener más información, consulte [Flujo de trabajo de planificación y ejecución de consultas](c-query-planning.md). 

Para definir un tipo de ordenación, utilice la palabra clave INTERLEAVED o COMPOUND en su instrucción CREATE TABLE o CREATE TABLE AS. La opción predeterminada es COMPOUND. Se recomienda el COMPOUND cuando actualice las tablas a menudo con operaciones INSERT, UPDATE o DELETE. Una clave de ordenación INTERLEAVED puede usar como máximo ocho columnas. En función de los datos y del tamaño del clúster, VACUUM REINDEX necesita mucho más tiempo que VACUUM FULL ya que realiza una ejecución adicional para analizar las claves de ordenación intercaladas. La operación de clasificación y fusión tarda más tiempo para tablas intercaladas porque es posible que la clasificación intercalada tenga que reorganizar más filas que una clasificación compuesta.

Para ver las claves de ordenación de una tabla, consulte la vista de sistema [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md).

**Topics**
+ [Clasificación de la estructura para datos multidimensionales](t_Sorting_mutidimensional-sort-key.md)
+ [Clave de ordenación compuesta](t_Sorting_data-compound.md)
+ [Clave de ordenación intercalada](t_Sorting_data-interleaved.md)

# Clasificación de la estructura para datos multidimensionales
<a name="t_Sorting_mutidimensional-sort-key"></a>

Una clave de clasificación de diseño de datos multidimensional es un tipo de clave de clasificación AUTO que se basa en predicados repetitivos encontrados en una carga de trabajo. Si su carga de trabajo tiene predicados repetitivos, Amazon Redshift puede mejorar el rendimiento del escaneo de tablas mediante la colocación de filas de datos que satisfagan los predicados repetitivos. En lugar de almacenar los datos de una tabla siguiendo un estricto orden de columnas, una clave de clasificación de diseño de datos multidimensional almacena los datos mediante el análisis de los predicados repetitivos que aparecen en una carga de trabajo. Se puede encontrar más de un predicado repetitivo en una carga de trabajo. Según la carga de trabajo, este tipo de clave de clasificación puede mejorar el rendimiento de muchos predicados. Amazon Redshift determina automáticamente si este método de clave de clasificación debe utilizarse para las tablas definidas con una clave de clasificación `AUTO`.

Por ejemplo, supongamos que tiene una tabla con los datos clasificados en orden de columna. Es posible que sea necesario examinar muchos bloques de datos para determinar si satisfacen los predicados de la carga de trabajo. Sin embargo, si los datos se almacenan en el disco siguiendo un orden de predicados, será necesario escanear menos bloques para satisfacer la consulta. En este caso, usar una clave de clasificación de diseño de datos multidimensional es beneficioso.

Para ver si una consulta utiliza una clave de diseño de datos multidimensional, consulte la columna `step_attribute` de la vista [SYS\$1QUERY\$1DETAIL](SYS_QUERY_DETAIL.md). Si el valor es `multi-dimensional`, entonces se habrá utilizado un diseño de datos multidimensional para la consulta.

Para evitar que Amazon Redshift utilice una clave de clasificación de diseño de datos multidimensional, elija una opción de clave de clasificación de tablas distinta de `SORTKEY AUTO`. Para obtener más información acerca de las opciones SORTKEY, consulte [CREATE TABLE](r_CREATE_TABLE_NEW.md).

# Clave de ordenación compuesta
<a name="t_Sorting_data-compound"></a>

 Una clave compuesta está formada por todas las columnas presentes en la definición de la clave de ordenación, en el orden que aparecen. Una clave de ordenación compuesta es más útil cuando el filtro de una consulta aplica condiciones, como filtros y combinaciones, que usan un prefijo de clave de ordenación. Los beneficios del rendimiento de la ordenación compuesta se reducen cuando las consultas dependen solo de las columnas de ordenación secundarias, sin hacer referencia a las columnas principales. COMPOUND es el tipo de ordenación predeterminado.

Las claves de ordenación compuesta pueden acelerar las combinaciones, las operaciones GROUP BY y ORDER BY y las funciones de ventana que usan PARTITION BY y ORDER BY. Por ejemplo, una combinación de fusión, que suele ser más rápida que una combinación hash, es factible cuando los datos se distribuyen y se ordenan previamente en las columnas de combinación. Las claves de ordenación compuesta también ayudan a mejorar la compresión. 

A medida que agrega filas a una tabla ordenada que ya tiene datos, la región desordenada aumenta y esto tiene un efecto significativo en el rendimiento. El efecto es mayor cuando la tabla usa una ordenación intercalada, en especial cuando las columnas de ordenación incluyen datos que aumentan de forma monótona, como las columnas de fecha o de marca temporal. Ejecute una operación VACUUM de manera periódica, sobre todo después de grandes cargas de datos, para volver a clasificar y a analizar los datos. Para obtener más información, consulte [Reducción del tamaño de la región no ordenada](vacuum-managing-vacuum-times.md#r_vacuum_diskspacereqs). Después hacer la limpieza para volver a ordenar los datos, se recomienda ejecutar un comando ANALYZE para actualizar los metadatos estadísticos para el planificados de consultas. Para obtener más información, consulte [Análisis de tablas](t_Analyzing_tables.md).

# Clave de ordenación intercalada
<a name="t_Sorting_data-interleaved"></a>

Una clave de ordenación intercalada le otorga el mismo peso a cada columna o subconjunto de columnas en la clave de ordenación. Si hay distintas consultas que usan diferentes columnas para filtros, puede, por lo general, mejorar el rendimiento de esas consultas utilizando un estilo de ordenación intercalada. Cuando una consulta usa predicados restrictivos en las columnas de ordenación secundarias, la ordenación intercalada mejora considerablemente el rendimiento de la consulta, si se la compara con la ordenación compuesta. 

**importante**  
No utilice una clave de ordenación intercalada con atributos monótonamente crecientes, como columnas de identidad, fechas o marcas temporales.

Las mejoras de rendimiento que obtiene al implementar una clave de ordenación intercalada se deben compensar con el aumento de los tiempos de carga y de limpieza. 

Las ordenaciones intercaladas son más eficaces con las consultas sumamente selectivas que filtran una o más columnas con clave de ordenación en la cláusula WHERE; por ejemplo, la consulta `select c_name from customer where c_region = 'ASIA'`. Los beneficios de la ordenación intercalada aumentan con la cantidad de columnas ordenadas que están limitadas. 

La ordenación intercalada es más eficaz con las tablas grandes. La ordenación se aplica a cada sector. Por lo tanto, una ordenación intercalada resulta más eficaz si una tabla es lo suficientemente grande como para requerir varios bloques de 1 MB por sector. En este caso, el procesador de consultas puede omitir una proporción significativa de los bloques mediante el uso de predicados restrictivos. Para ver la cantidad de bloques que utiliza una tabla, consulte la vista de sistema [STV\$1BLOCKLIST](r_STV_BLOCKLIST.md).

 Cuando se ordena una sola columna, una ordenación intercalada puede tener un mejor rendimiento que una ordenación compuesta si los valores de la columna tienen un prefijo largo en común. Por ejemplo, los URL, por lo general, comienzan con "http://www". Las claves de ordenación compuesta usan una cantidad limitada de caracteres del prefijo, lo que genera muchas duplicaciones de claves. Las ordenaciones intercaladas utilizan un esquema de compresión interno para los valores de mapas de zonas que les permite discriminar mejor entre valores de columnas que tienen un prefijo largo en común.

 Al migrar clústeres aprovisionados de Amazon Redshift a Amazon Redshift sin servidor, Redshift convierte tablas con claves de clasificación intercaladas y DISTSTYLE KEY en claves de clasificación compuestas. Sin embargo, las tablas con solo claves de clasificación intercaladas permanecen sin cambios. Para obtener más información sobre los estilos de distribución, consulte [Uso de estilos de distribución de datos](https://docs.aws.amazon.com//redshift/latest/dg/t_Distributing_data.html). 
<a name="t_Sorting_data-interleaved-reindex"></a>
**VACUUM REINDEX**  
A medida que agrega filas a una tabla ordenada que ya tiene datos, el rendimiento puede deteriorarse con el tiempo. Este deterioro ocurre tanto en las ordenaciones compuestas como en las intercaladas, pero tiene mayor efecto en las tablas intercaladas. El comando VACUUM restaura el orden, pero la operación puede tomar más tiempo para las tablas intercaladas porque fusionar datos nuevos intercalados puede implicar modificar cada bloque de datos.

Cuando las tablas se cargan por primera vez, Amazon Redshift analiza la distribución de los valores de las columnas con clave de ordenación y usa la información para intercalar de manera óptima las columnas con clave de ordenación. A medida que una tabla aumenta, la distribución de los valores de las columnas con clave de ordenación puede variar o generar un sesgo, en especial con las columnas de fecha o de marca temporal. Si el sesgo es demasiado grande, puede afectar el rendimiento. Para volver a analizar las claves de ordenación y restaurar el rendimiento, ejecute el comando VACUUM con la palabra clave REINDEX. Como el comando VACUUM REINDEX debe hacer un análisis adicional sobre los datos, puede tardar más que un comando VACUUM estándar para las tablas intercaladas. Para ver información acerca del sesgo de distribución de claves y del tiempo de la última reindexación, consulte la vista de sistema [SVV\$1INTERLEAVED\$1COLUMNS](r_SVV_INTERLEAVED_COLUMNS.md).

Para obtener más información acerca de cómo determinar con qué frecuencia ejecutar el comando VACUUM y cuándo ejecutar el comando VACUUM REINDEX, consulte [Decisión de si se debe reindexar](vacuum-managing-vacuum-times.md#r_vacuum-decide-whether-to-reindex). 