Claves de clasificación
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. 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. 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.
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. Para obtener más información, consulte Flujo de trabajo de planificación y ejecución de consultas.
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_TABLE_INFO.