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.
Indicateurs
Les astuces pour les analyses SQL fournissent des directives d'optimisation qui guident les stratégies d'exécution des requêtes AWS Clean Rooms, vous permettant ainsi d'améliorer les performances des requêtes et de réduire les coûts de calcul. Des indices suggèrent comment le moteur d'analyse Spark doit générer son plan d'exécution.
Syntaxe
SELECT /*+hint_name(parameters),hint_name(parameters) */column_listFROMtable_name;
Les indices sont intégrés aux requêtes SQL à l'aide d'une syntaxe de type commentaire et doivent être placés directement après le mot clé SELECT.
Types d'indices pris en charge
AWS Clean Rooms prend en charge deux catégories d'astuces : les astuces de jointure et les astuces de partitionnement.
Combiner plusieurs astuces
Vous pouvez spécifier plusieurs indices dans une seule requête en les séparant par des virgules :
-- Combine join and partitioning hints SELECT /*+ BROADCAST(d), REPARTITION(8) */ e.name, d.dept_name FROM employees e JOIN departments d ON e.dept_id = d.id; -- Multiple join hints SELECT /*+ BROADCAST(s), MERGE(d) */ * FROM employees e JOIN students s ON e.id = s.id JOIN departments d ON e.dept_id = d.id; -- Hints within separate hint blocks within the same query SELECT /*+ REPARTITION(100) */ /*+ COALESCE(500) */ /*+ REPARTITION_BY_RANGE(3, c) */ * FROM t;
Considérations et restrictions
-
Les indices sont des suggestions d'optimisation et non des commandes. L'optimiseur de requêtes peut ignorer les indications basées sur des contraintes de ressources ou des conditions d'exécution.
-
Les conseils sont intégrés directement dans les chaînes de requête SQL pour les deux CreateAnalysisTemplate et StartProtectedQuery APIs.
-
Les indices doivent être placés directement après le mot clé SELECT.
-
Les paramètres nommés ne sont pas pris en charge par des indices et déclencheront une exception.
-
Les noms de colonnes dans les indications REPARTITION et REPARTITION_BY_RANGE doivent figurer dans le schéma d'entrée.
-
Les noms des colonnes figurant dans les indices REBALANCE doivent apparaître dans la liste de sortie SELECT.
-
Les paramètres numériques doivent être des entiers positifs compris entre 1 et 2147483647. Les notations scientifiques telles que 1e1 ne sont pas prises en charge
-
Les indices ne sont pas pris en charge dans les requêtes SQL Differential Privacy.
-
Les astuces pour les requêtes SQL ne sont pas prises en charge dans les PySpark jobs. Pour fournir des directives pour les plans d'exécution d'une PySpark tâche, utilisez l'API de trame de données. Consultez la documentation de DataFrame l'API Apache Spark
pour plus d'informations.