

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.

# Adapter query\_mem à votre charge de travail
<a name="aurora-analytics-tuning-query-mem"></a>

`query_mem`échange la vitesse par requête contre la simultanéité : une valeur plus élevée permet à chaque requête d'utiliser plus de mémoire et de s'exécuter plus rapidement, mais moins de requêtes peuvent être exécutées en même temps avant de se disputer de la mémoire. Augmentez-le lorsque seules quelques requêtes volumineuses sont exécutées à la fois et que vous souhaitez que chacune se termine rapidement. Réduisez-le au fur et à mesure que la simultanéité augmente, afin que davantage de requêtes puissent être traitées sans épuiser la mémoire.

Sur une instance partagée avec d'autres charges de travail, maintenez un `query_mem` niveau bas afin que les requêtes de table étrangères réservent de la capacité pour les autres tâches, ou déplacez-les vers un lecteur dédié. Pour plus d’informations, consultez [Utilisation d'une instance de lecteur dédiée pour les analyses](aurora-analytics-dedicated-reader.md).

Comme il `query_mem` s'agit d'un plafond par requête plutôt que de mémoire réservée à l'avance, la simultanéité dépend de la quantité de mémoire réellement utilisée par vos requêtes. Pour savoir comment `query_mem` partage la mémoire d'instance `shared_buffers` et comment la budgétiser entre sessions simultanées, consultez[Budget de mémoire entre sessions simultanées](aurora-analytics-resource-management.md#aurora-analytics-query-memory-concurrent).

Vous pouvez définir plusieurs `query_mem` niveaux de portée : le groupe de paramètres du cluster, une base de données (`ALTER DATABASE`), un rôle (`ALTER ROLE`) ou la session en cours (`SET`). Nous recommandons le niveau le plus bas qui permet de résoudre le problème, afin qu'une modification n'entraîne pas une surallocation de mémoire pour les requêtes qui n'en ont pas besoin.

Pour un réglage ciblé, configurez-le par session afin que le changement s'applique uniquement à la connexion en cours et uniquement aux requêtes que vous y exécutez.

```
SET aurora_analytics.query_mem = 'XXGB';
```

Pour des valeurs par défaut stables liées à un rôle, définissez-le par rôle. Cette approche convient aux charges de travail mixtes où les différents types d'utilisateurs ont constamment besoin de quantités différentes.

```
ALTER ROLE dashboard_user SET aurora_analytics.query_mem = 'XXGB';
```

La définition `query_mem` du groupe de paramètres du cluster le modifie pour chaque session sur chaque base de données, alors réservez-le pour une ligne de base à l'échelle du cluster plutôt que pour un réglage spécifique à la charge de travail.