

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.

# La base de données crée des tables temporaires sur le disque
<a name="proactive-insights.temp-tables"></a>

Votre récente utilisation des tables temporaires sur disque a augmenté de manière significative, jusqu'à*percentage*. La base de données crée environ des tables *number* temporaires par seconde. Cela peut avoir un impact sur les performances et augmenter les opérations sur le disque*db-instance*.

**Topics**
+ [Versions de moteur prises en charge](#proactive-insights.temp-tables.context.supported)
+ [Contexte](#proactive-insights.temp-tables.context)
+ [Causes probables de ce problème](#proactive-insights.temp-tables.causes)
+ [Actions](#proactive-insights.temp-tables.actions)
+ [Métriques pertinentes](#proactive-insights.temp-tables.metrics)

## Versions de moteur prises en charge
<a name="proactive-insights.temp-tables.context.supported"></a>

Ces données d’insight sont prises en charge pour toutes les versions d’Aurora MySQL.

## Contexte
<a name="proactive-insights.temp-tables.context"></a>

Il est parfois nécessaire que le serveur MySQL crée une table temporaire interne lors du traitement d'une requête. Aurora MySQL peut contenir une table temporaire interne en mémoire, où elle peut être traitée par le moteur de stockage MEMORY TempTable ou stockée sur disque par InnoDB. Pour plus d'informations, consultez [Utilisation des tables temporaires internes dans MySQL](https://dev.mysql.com/doc/refman/5.6/en/internal-temporary-tables.html) dans le *manuel de référence de MySQL*.

## Causes probables de ce problème
<a name="proactive-insights.temp-tables.causes"></a>

Une augmentation du nombre de tables temporaires sur disque indique l'utilisation de requêtes complexes. Si la mémoire configurée est insuffisante pour stocker des tables temporaires en mémoire, Aurora MySQL crée les tables sur disque. Cela peut avoir un impact sur les performances et augmenter les opérations sur le disque.

## Actions
<a name="proactive-insights.temp-tables.actions"></a>

Nous vous recommandons différentes actions en fonction des causes de votre insight.
+ Pour Aurora MySQL version 3, nous vous recommandons d'utiliser le moteur TempTable de stockage.
+ Optimisez vos requêtes pour renvoyer moins de données en sélectionnant uniquement les colonnes nécessaires.

  Si vous activez le schéma de performance alors que tous les instruments `statement` sont activés et temporisés, vous pouvez effectuer une requête `SYS.statements_with_temp_tables` pour récupérer la liste des requêtes utilisant des tables temporaires. Pour plus d'informations, consultez [Prérequis pour l'utilisation du schéma sys](https://dev.mysql.com/doc/refman/8.0/en/sys-schema-prerequisites.html) dans la documentation sur MySQL.
+ Envisagez d'indexer les colonnes impliquées dans les opérations de tri et de regroupement.
+ Réécrivez vos requêtes pour éviter les colonnes `BLOB` et `TEXT`. Ces colonnes utilisent toujours un disque.
+ Réglez les paramètres de base de données suivants : `tmp_table_size` et `max_heap_table_size`.

  La valeur par défaut de ces paramètres est 16 Mio. Lorsque vous utilisez le moteur de stockage MEMORY pour des tables temporaires en mémoire, leur taille maximale est définie par la plus petite des valeurs `tmp_table_size` et `max_heap_table_size`. Lorsque cette taille maximale est atteinte, MySQL convertit automatiquement la table temporaire interne en mémoire en une table temporaire interne sur disque InnoDB. Pour plus d'informations, consultez [Utiliser le moteur TempTable de stockage sur Amazon RDS for MySQL et Amazon Aurora MySQL](https://aws.amazon.com/blogs/database/use-the-temptable-storage-engine-on-amazon-rds-for-mysql-and-amazon-aurora-mysql/).
**Note**  
Lorsque vous créez explicitement des tables MEMORY avec CREATE TABLE, seule la variable `max_heap_table_size` détermine la taille maximale qu'une table peut prendre. Il n'y a pas non plus de conversion vers un format sur disque.

## Métriques pertinentes
<a name="proactive-insights.temp-tables.metrics"></a>

Les métriques suivantes d'analyse des performances sont liées à cet insight :
+ Created\$1tmp\$1disk\$1tables
+ Created\$1tmp\$1tables

Pour plus d'informations, consultez [Created\$1tmp\$1disk\$1tables](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html#statvar_Created_tmp_disk_tables) dans la documentation sur MySQL.