

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.

# Optimisation des requêtes parallèles dans Aurora MySQL
<a name="aurora-mysql-parallel-query-optimizing"></a>

Pour optimiser votre cluster de bases de données pour les requêtes parallèles, identifiez quels clusters bénéficieraient de requêtes parallèles et déterminez s’il convient de procéder à une mise à niveau pour les requêtes parallèles. Ajustez ensuite votre charge de travail et créez des objets de schéma pour les requêtes parallèles.

**Contents**
+ [Planification d’un cluster de requête parallèle](#aurora-mysql-parallel-query-planning)
  + [Vérification de la compatibilité de version Aurora MySQL pour une requête parallèle](#aurora-mysql-parallel-query-checking-compatibility)
+ [Considérations relatives aux mises à niveau pour les requêtes parallèles](#aurora-mysql-parallel-query-upgrade)
  + [Mise à niveau des clusters de requêtes parallèles vers Aurora MySQL version 3](#aurora-mysql-parallel-query-upgrade-pqv2)
  + [Mise à niveau vers Aurora MySQL 2.09 et versions ultérieures](#aurora-mysql-parallel-query-upgrade-2.09)
+ [Réglage de performances pour les requêtes parallèles](#aurora-mysql-parallel-query-performance)
+ [Création d’objets de schéma pour tirer parti des requêtes parallèles](#aurora-mysql-parallel-query-tables)

## Planification d’un cluster de requête parallèle
<a name="aurora-mysql-parallel-query-planning"></a>

La planification d’un cluster de bases de données dont les requêtes parallèles sont activées nécessite quelques choix. Il s’agit notamment d’effectuer des étapes de configuration (création ou restauration d’un cluster Aurora MySQL complet) et de décider de l’étendue de l’activation des requêtes parallèles sur votre cluster de bases de données.

Considérez les éléments suivants dans le cadre de la planification :
+ Si vous utilisez une version d’Aurora MySQL compatible avec MySQL 5.7, vous devez créer un cluster provisionné. Ensuite, vous activez la requête parallèle en utilisant le paramètre `aurora_parallel_query`.

  Si vous disposez déjà d’un cluster Aurora MySQL existant, vous n’avez pas besoin d’en créer un autre pour utiliser une requête parallèle. Vous pouvez associer votre cluster ou des instances de base de données spécifiques du cluster à un groupe de paramètres pour lequel `aurora_parallel_query` est activé. De ce fait, vous pouvez réduire le temps et les efforts nécessaires pour configurer les données pertinentes à utiliser avec une requête parallèle.
+ Planifiez les tables volumineuses que vous devez réorganiser afin d’être en mesure d’utiliser la requête parallèle lors de l’accès à celles-ci. Vous devrez peut-être créer de nouvelles versions de certaines tables volumineuses où la requête parallèle est utile. Par exemple, vous devrez peut-être supprimer les index de recherche en texte intégral. Pour en savoir plus, consultez [Création d’objets de schéma pour tirer parti des requêtes parallèles](#aurora-mysql-parallel-query-tables).

### Vérification de la compatibilité de version Aurora MySQL pour une requête parallèle
<a name="aurora-mysql-parallel-query-checking-compatibility"></a>

Pour vérifier quelles versions d'Aurora MySQL sont compatibles avec les clusters de requêtes parallèles, utilisez la `describe-db-engine-versions` AWS CLI commande et vérifiez la valeur du `SupportsParallelQuery` champ. L'exemple de code suivant montre comment vérifier quelles combinaisons sont disponibles pour les clusters de requêtes parallèles dans une AWS région spécifiée. Assurez-vous de spécifier la chaîne de paramètres `--query` complète sur une seule ligne.

```
aws rds describe-db-engine-versions --region us-east-1 --engine aurora-mysql \
--query '*[]|[?SupportsParallelQuery == `true`].[EngineVersion]' --output text
```

Les commandes précédentes génèrent une sortie similaire à la sortie suivante : Le résultat peut varier en fonction des versions d'Aurora MySQL disponibles dans la AWS région spécifiée.

```
5.7.mysql_aurora.2.11.1
5.7.mysql_aurora.2.11.2
5.7.mysql_aurora.2.11.3
5.7.mysql_aurora.2.11.4
5.7.mysql_aurora.2.11.5
5.7.mysql_aurora.2.11.6
5.7.mysql_aurora.2.12.0
5.7.mysql_aurora.2.12.1
5.7.mysql_aurora.2.12.2
5.7.mysql_aurora.2.12.3
5.7.mysql_aurora.2.12.4
8.0.mysql_aurora.3.04.0
8.0.mysql_aurora.3.04.1
8.0.mysql_aurora.3.04.2
8.0.mysql_aurora.3.04.3
8.0.mysql_aurora.3.05.2
8.0.mysql_aurora.3.06.0
8.0.mysql_aurora.3.06.1
8.0.mysql_aurora.3.07.0
8.0.mysql_aurora.3.07.1
```

 Une fois que vous avez commencé à utiliser une requête parallèle avec un cluster, vous pouvez surveiller les performances et supprimer les obstacles à l’utilisation de la requête parallèle. Pour obtenir ces instructions, consultez [Réglage de performances pour les requêtes parallèles](#aurora-mysql-parallel-query-performance). 

## Considérations relatives aux mises à niveau pour les requêtes parallèles
<a name="aurora-mysql-parallel-query-upgrade"></a>

 Selon les versions d’origine et de destination lorsque vous mettez à niveau un cluster de requêtes parallèles, vous trouverez des améliorations dans les types de requêtes que la requête parallèle peut optimiser. Vous constaterez également que vous n’avez pas besoin de spécifier un paramètre de mode de moteur spécial pour les requêtes parallèles. Les sections suivantes expliquent les considérations à prendre en compte lors de la mise à niveau d’un cluster sur lequel la requête parallèle est activée. 

### Mise à niveau des clusters de requêtes parallèles vers Aurora MySQL version 3
<a name="aurora-mysql-parallel-query-upgrade-pqv2"></a>

 Plusieurs instructions, clauses et types de données SQL offrent une prise en charge des requêtes parallèles nouvelles ou améliorées à partir d’Aurora MySQL version 3. Lorsque vous effectuez une mise à niveau à partir d’une version antérieure à la version 3, vérifiez si des requêtes supplémentaires peuvent bénéficier d’optimisations des requêtes parallèles. Pour plus d’informations sur ces améliorations des requêtes parallèles, consultez [Types de données de colonne](aurora-mysql-parallel-query-sql.md#aurora-mysql-parallel-query-sql-datatypes), [Tables partitionnées](aurora-mysql-parallel-query-sql.md#aurora-mysql-parallel-query-sql-partitioning) et [Fonctions d’agrégation et clauses GROUP BY et HAVING](aurora-mysql-parallel-query-sql.md#aurora-mysql-parallel-query-sql-aggregation). 

Si vous mettez à niveau un cluster de requête parallèle à partir d’Aurora MySQL 2.08 ou version antérieure, découvrez également les modifications apportées à l’activation d’une requête parallèle. Pour ce faire, lisez [Mise à niveau vers Aurora MySQL 2.09 et versions ultérieures](#aurora-mysql-parallel-query-upgrade-2.09).

Dans Aurora MySQL version 3, l’optimisation de jointure par hachage est activée par défaut. L’option de configuration `aurora_disable_hash_join` des versions antérieures n’est pas utilisée.

### Mise à niveau vers Aurora MySQL 2.09 et versions ultérieures
<a name="aurora-mysql-parallel-query-upgrade-2.09"></a>

Dans Aurora MySQL 2.09 et versions ultérieures, la requête parallèle fonctionne pour les clusters alloués et ne nécessite pas le paramètre de mode de moteur `parallelquery`. Ainsi, vous n’avez pas besoin de créer un nouveau cluster ou de procéder à une restauration à partir d’un instantané existant pour utiliser une requête parallèle avec ces versions. Vous pouvez utiliser les procédures de mise à niveau décrites dans [Mise à niveau de la version mineure ou du niveau de correctif d’un cluster de bases de données Aurora MySQL](AuroraMySQL.Updates.Patching.md) pour mettre à niveau votre cluster vers une de ces versions. Vous pouvez mettre à niveau un cluster plus ancien, qu’il s’agisse d’un cluster de requête parallèle ou d’un cluster alloué. Pour réduire le nombre de choix dans le menu **Engine version (Version du moteur)**, vous pouvez choisir **Show versions that support the parallel query feature (Afficher les versions prenant en charge la fonction de requête parallèle)** pour filtrer les entrées de ce menu. Choisissez ensuite Aurora MySQL 2.09 ou version ultérieure.

Après avoir mis à niveau un cluster de requête parallèle antérieur vers Aurora MySQL 2.09 ou version ultérieure, vous activez la requête parallèle dans le cluster mis à niveau. La requête parallèle est désactivée par défaut dans ces versions. La procédure pour l’activer est différente. L’optimisation de jointure par hachage est également désactivée par défaut et doit être activée séparément. Ainsi, veillez à activer à nouveau ces paramètres après la mise à niveau. Pour obtenir des instructions à ce sujet, consultez [Activation et désactivation des requêtes parallèles dans Aurora MySQL](aurora-mysql-parallel-query-enabling.md) et [Activation de la jointure par hachage pour les clusters de requête parallèle](aurora-mysql-parallel-query-enabling.md#aurora-mysql-parallel-query-enabling-hash-join).

En particulier, vous activez la requête parallèle en utilisant les paramètres de configuration `aurora_parallel_query=ON` et `aurora_disable_hash_join=OFF` au lieu de `aurora_pq_supported` et `aurora_pq`. Les paramètres `aurora_pq_supported` et `aurora_pq` sont obsolètes dans les versions d’Aurora MySQL les plus récentes.

 Dans le cluster mis à niveau, l’attribut `EngineMode` a la valeur `provisioned` au lieu de `parallelquery`. Pour vérifier si une requête parallèle est disponible pour une version de moteur spécifiée, vous devez maintenant vérifier la valeur du `SupportsParallelQuery` champ dans le résultat de la `describe-db-engine-versions` AWS CLI commande. Dans les versions antérieures d’Aurora MySQL, vous avez vérifié la présence de `parallelquery` dans la liste `SupportedEngineModes`. 

Après la mise à niveau vers Aurora MySQL 2.09 ou version ultérieure, vous pouvez profiter des fonctionnalités suivantes. Ces fonctions ne sont pas disponibles pour les clusters de requête parallèle exécutant des versions plus anciennes d’Aurora MySQL.
+ Analyse des performances. Pour plus d’informations, consultez [Surveillance de la charge de la base de données avec Performance Insights sur ](USER_PerfInsights.md).
+ Retour sur trace. Pour plus d’informations, consultez [Retour en arrière d’un cluster de bases de données Aurora](AuroraMySQL.Managing.Backtrack.md).
+ Arrêt et démarrage du cluster. Pour plus d’informations, consultez [Arrêt et démarrage d’un cluster de bases de données Amazon Aurora](aurora-cluster-stop-start.md).

## Réglage de performances pour les requêtes parallèles
<a name="aurora-mysql-parallel-query-performance"></a>

 Pour gérer les performances d’une charge de travail avec la fonction de requête parallèle, assurez-vous que cette dernière est utilisée pour les requêtes pour lesquelles cette optimisation est la plus utile. 

 Pour ce faire, vous pouvez effectuer les opérations suivantes : 
+  Assurez-vous que vos tables les plus volumineuses sont compatibles avec la requête parallèle. Vous pouvez modifier les propriétés des tables ou recréer certaines tables afin que les requêtes pour ces tables puissent tirer parti de l’optimisation de requête parallèle. Pour savoir comment procéder, consultez [Création d’objets de schéma pour tirer parti des requêtes parallèles](#aurora-mysql-parallel-query-tables). 
+  Surveillez les requêtes qui utilisent la fonction de requête parallèle. Pour savoir comment procéder, consultez [Surveillance des requêtes parallèles pour Aurora MySQL](aurora-mysql-parallel-query-monitoring.md). 
+  Vérifiez que la requête parallèle est utilisée pour les requêtes à grand volume de données et de longue durée, et avec le niveau de concurrence approprié pour votre charge de travail. Pour savoir comment procéder, consultez [Vérification des instructions utilisant les requêtes parallèles pour Aurora MySQL](aurora-mysql-parallel-query-verifying.md). 
+  Affinez votre code SQL pour activer la requête parallèle et l’appliquer aux requêtes de votre choix. Pour savoir comment procéder, consultez [Constructions SQL pour les requêtes parallèles dans Aurora MySQL](aurora-mysql-parallel-query-sql.md). 

## Création d’objets de schéma pour tirer parti des requêtes parallèles
<a name="aurora-mysql-parallel-query-tables"></a>

 Avant de créer ou de modifier des tables que vous prévoyez d’utiliser pour une requête parallèle, veillez à vous familiariser avec les exigences décrites dans [Conditions préalables](aurora-mysql-parallel-query.md#aurora-mysql-parallel-query-prereqs) et [Limitations](aurora-mysql-parallel-query.md#aurora-mysql-parallel-query-limitations). 

 La fonction de requête parallèle nécessitant que les tables utilisent le paramètre `ROW_FORMAT=Compact` ou `ROW_FORMAT=Dynamic`, vérifiez si des modifications ont été apportées à l’option de configuration `INNODB_FILE_FORMAT` dans les paramètres de configuration Aurora. Exécutez l’instruction `SHOW TABLE STATUS` pour confirmer le format de ligne de toutes les tables d’une base de données. 

 Avant de modifier votre schéma pour permettre à la requête parallèle de fonctionner avec d’autres tables, assurez-vous de procéder à des tests. Vos tests doivent confirmer si une requête parallèle entraîne une augmentation nette des performances pour ces tables. Assurez-vous également que les exigences en matière de schéma pour les requêtes parallèles coïncident avec vos objectifs. 

 Par exemple, avant de passer de `ROW_FORMAT=Compressed` à `ROW_FORMAT=Compact` ou `ROW_FORMAT=Dynamic`, testez les performances des charges de travail pour les tables d’origine et les nouvelles tables. Tenez également compte des autres effets potentiels tels que l’augmentation du volume de données. 