

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

# 如何使用 SPARQL `explain` 來分析 Neptune 查詢執行
<a name="sparql-explain-using"></a>

SPARQL `explain` 功能是 Amazon Neptune 中的自助式工具，可協助您了解 Neptune 引擎採取的執行方法。若要叫用 `explain`，您會以 `explain={{mode}}` 的形式將參數傳遞到 HTTP 或 HTTPS 請求。

模式值可以是 `static` `dynamic` 或 `details` 的其中之一。
+ 在*靜態*模式中，`explain` 只會列印查詢計劃的靜態結構。
+ 在*動態*模式中，`explain` 還包括查詢計劃的動態層面。這些層面可能包含經由運算子流動的中繼繫結數和傳入繫結與傳出繫結的比率，以及運算子所耗費的時間。
+ 在*詳細資訊*模式中，`explain` 會列印 `dynamic` 模式中顯示的資訊及其他詳細資訊，例如，實際 SPARQL 查詢字串，以及構成聯結運算子基礎之模式的預估範圍計數。

Neptune 支援使用 `explain`，搭配在 [W3C SPARQL 1.1 通訊協定規格](https://www.w3.org/TR/sparql11-protocol/#query-operation)中所列的所有三個 SPARQL 查詢存取通訊協定，即：

1. HTTP GET

1. 使用 URL 編碼參數的 HTTP POST

1. 使用文字參數的 HTTP POST

如需 SPARQL 查詢引擎的詳細資訊，請參閱 [SPARQL 查詢引擎在 Neptune 的運作方式](sparql-explain-engine.md)。

如需叫用 SPARQL `explain` 產生之輸出種類的詳細資訊，請參閱 [在 `explain` 中調用 SPARQL 的範例](sparql-explain-examples.md)。