Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Clés de tri
Note
Nous vous recommandons de créer vos tables avec SORTKEY AUTO
. Si vous procédez ainsi, Amazon Redshift utilise l’optimisation automatique des tables pour choisir la clé de tri. Pour plus d'informations, consultez Optimisation automatique des tables. Le reste de cette section fournit des détails sur l’ordre de tri.
Lorsque vous créez une table, vous pouvez définir une ou plusieurs de ses colonnes comme clés de tri. Lorsque les données sont chargées initialement dans la table vide, les lignes sont stockées sur le disque dans un ordre trié. Les informations sur les colonnes de clés de tri sont transmises au planificateur de requête qui les utilise pour créer des plans basés sur le mode de tri des données. Pour de plus amples informations, veuillez consulter CREATE TABLE. Pour plus d’informations sur les bonnes pratiques lors de la création d’une clé de tri, consultez Choix de la meilleure clé de tri.
Le tri permet de traiter efficacement les prédicats limités à une plage. Amazon Redshift stocke les données en colonnes dans des blocs de disque de 1 Mo. Les valeurs minimale et maximale de chaque bloc sont stockées dans le cadre des métadonnées. Si une requête utilise un prédicat à plage restreinte, le processeur de requêtes peut utiliser les valeurs min et max pour ignorer rapidement un grand nombre de blocs lors des analyses de table. Supposons par exemple qu’une table stocke cinq années de données triées par date et qu’une requête spécifie une plage de dates d’un mois. Dans ce cas, vous pouvez supprimer jusqu’à 98 % des blocs du disque de l’analyse. Si les données ne sont pas triées, davantage de blocs de disque (peut-être même tous) doivent être analysés.
Vous pouvez spécifier une clé de tri composée ou une clé de tri entrelacée. Une clé de tri composée est plus efficace lorsque les prédicats de requête utilisent un préfixe, qui est un sous-ensemble des colonnes de clé de tri dans l’ordre. Une clé de tri entrelacée confère un poids égal à chaque colonne de la clé de tri, les prédicats de requête peuvent donc utiliser n’importe quel sous-ensemble des colonnes qui constituent la clé de tri, dans n’importe quel ordre.
Pour comprendre l’incidence de la clé de tri choisie sur la performance des requêtes, utilisez la commande EXPLAIN. Pour plus d'informations, consultez Workflow d’exécution et de planification de requête.
Pour définir un type de tri, utilisez le mot clé INTERLEAVED ou COMPOUND avec votre instruction CREATE TABLE ou CREATE TABLE AS. La valeur par défaut est COMPOUND. COMPOUND est recommandé lorsque vous mettez régulièrement à jour vos tables avec des opérations INSERT, UPDATE ou DELETE. Une clé de tri INTERLEAVED peut utiliser huit colonnes au maximum. Selon la taille de vos données et de votre cluster, l’exécution de VACUUM REINDEX prend beaucoup plus de temps que celle de VACUUM FULL car l’opération effectue un passage supplémentaire pour analyser les clés de tri entrelacées. L’opération de tri et de fusion peut prendre plus de temps pour les tables entrelacées, car le tri entrelacé peut nécessiter la réorganisation de plus de lignes qu’un tri composé.
Pour afficher les clés de tri d’une table, interrogez la vue système SVV_TABLE_INFO.