

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Neptune 查詢快取的使用案例
<a name="feature-overview-lookup-cache-when-to-use"></a>

查詢快取僅在您的讀取查詢傳回非常大量頂點和邊緣或 RDF 三元組的屬性時才有幫助。

為了最佳化查詢效能，Amazon Neptune 會使用 `R5d` 執行個體類型，為這類屬性值或常值建立大型快取。然後，從快取擷取它們會比從叢集儲存磁碟區擷取它們快得多。

根據經驗法則，只有在滿足下列三個條件的情況下，才能啟用查詢快取：
+ 您一直觀察到讀取查詢中的延遲增加。
+ 您還觀察到 `BufferCacheHitRatio` [CloudWatch 指標](cw-metrics.md#cw-metrics-available)在執行讀取查詢時下降 (請參閱 [使用 Amazon CloudWatch 監控 Neptune](cloudwatch.md))。
+ 在呈現結果之前，您的讀取查詢會花費大量時間實體化傳回值 (請參閱下面的 Gremlin-profile 範例，取得確定要針對一個查詢具體化多少屬性值的方法)。

**注意**  
此功能「僅」**在上述特定案例中有幫助。例如，查詢快取根本無法幫助彙總查詢。除非您正在執行將從查詢快取得益的查詢，否則沒有理由使用 `R5d` 執行個體類型，而非同等且費用較低的 `R5` 執行個體類型。

如果您使用的是 Gremlin，您可以使用 [Gremlin `profile` API](gremlin-profile-api.md) 評估查詢的具體化成本。在「索引操作」下，它會顯示執行期間具體化的術語數量：

```
Index Operations
Query execution:
    # of statement index ops: 3
    # of unique statement index ops: 3
    Duplication ratio: 1.0
    {{# of terms materialized: 5273}}
Serialization:
    # of statement index ops: 200
    # of unique statement index ops: 140
    Duplication ratio: 1.43
    {{# of terms materialized: 32693}}
```

具體化的非數字術語數量直接與 Neptune 必須執行的術語查詢數量成正比。