

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.

# Astuce de cache du plan de requêtes OpenCypher
<a name="opencypher-query-hints-qpc-hint"></a>

 Le comportement du cache du plan de requêtes peut être modifié par requête (paramétrée ou non) par un indice de requête au niveau de la requête. `QUERY:PLANCACHE` Il doit être utilisé avec la `USING` clause. L'indice de requête accepte `enabled` ou `disabled` comme valeur. Pour plus d'informations sur le cache des plans de requêtes, consultez[Cache du plan de requête dans Amazon Neptune](access-graph-qpc.md). 

------
#### [ AWS CLI ]

Forcer la mise en cache ou la réutilisation du plan :

```
aws neptunedata execute-open-cypher-query \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --open-cypher-query "Using QUERY:PLANCACHE \"enabled\" MATCH(n) RETURN n LIMIT 1"
```

Avec paramètres :

```
aws neptunedata execute-open-cypher-query \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --open-cypher-query "Using QUERY:PLANCACHE \"enabled\" RETURN \$arg" \
  --parameters '{"arg": 123}'
```

Forcer le plan à ne pas être mis en cache ni réutilisé :

```
aws neptunedata execute-open-cypher-query \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --open-cypher-query "Using QUERY:PLANCACHE \"disabled\" MATCH(n) RETURN n LIMIT 1"
```

Pour plus d'informations, consultez [https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-open-cypher-query.html](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-open-cypher-query.html) execute-open-cypher-query dans la référence des commandes. AWS CLI 

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://{{your-neptune-endpoint}}:{{port}}',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

# Forcing plan to be cached or reused
response = client.execute_open_cypher_query(
    openCypherQuery='Using QUERY:PLANCACHE "enabled" MATCH(n) RETURN n LIMIT 1'
)

print(response['results'])
```

Pour des exemples de AWS SDK dans d'autres langues, consultez[AWS SDK](access-graph-opencypher-sdk.md).

------
#### [ awscurl ]

Forcer la mise en cache ou la réutilisation du plan :

```
awscurl https://{{your-neptune-endpoint}}:{{port}}/openCypher \
  --region {{us-east-1}} \
  --service neptune-db \
  -X POST \
  -d "query=Using QUERY:PLANCACHE \"enabled\" MATCH(n) RETURN n LIMIT 1"
```

**Note**  
Cet exemple suppose que vos AWS informations d'identification sont configurées dans votre environnement. {{us-east-1}}Remplacez-la par la région de votre amas Neptune.

------
#### [ curl ]

Forcer la mise en cache ou la réutilisation du plan :

```
curl https://{{your-neptune-endpoint}}:{{port}}/openCypher \
  -d "query=Using QUERY:PLANCACHE \"enabled\" MATCH(n) RETURN n LIMIT 1"
```

Avec paramètres :

```
curl https://{{your-neptune-endpoint}}:{{port}}/openCypher \
  -d "query=Using QUERY:PLANCACHE \"enabled\" RETURN \$arg" \
  -d "parameters={\"arg\": 123}"
```

Forcer le plan à ne pas être mis en cache ni réutilisé :

```
curl https://{{your-neptune-endpoint}}:{{port}}/openCypher \
  -d "query=Using QUERY:PLANCACHE \"disabled\" MATCH(n) RETURN n LIMIT 1"
```

------