mirror of https://gitee.com/bigwinds/arangodb
119 lines
6.7 KiB
Plaintext
119 lines
6.7 KiB
Plaintext
shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain <<EOF
|
|
{
|
|
<span class="hljs-string">"query"</span> : <span class="hljs-string">"FOR p IN products FILTER p.id == 25 RETURN p"</span>,
|
|
<span class="hljs-string">"options"</span> : {
|
|
<span class="hljs-string">"allPlans"</span> : <span class="hljs-literal">true</span>
|
|
}
|
|
}
|
|
EOF
|
|
|
|
HTTP/<span class="hljs-number">1.1</span> <span class="hljs-number">200</span> OK
|
|
content-type: application/json; charset=utf-<span class="hljs-number">8</span>
|
|
|
|
{
|
|
<span class="hljs-string">"plans"</span> : [
|
|
{
|
|
<span class="hljs-string">"nodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"SingletonNode"</span>,
|
|
<span class="hljs-string">"dependencies"</span> : [ ],
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">1</span>
|
|
},
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"IndexRangeNode"</span>,
|
|
<span class="hljs-string">"dependencies"</span> : [
|
|
<span class="hljs-number">1</span>
|
|
],
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">6</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">1.9899995050000001</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"database"</span> : <span class="hljs-string">"_system"</span>,
|
|
<span class="hljs-string">"collection"</span> : <span class="hljs-string">"products"</span>,
|
|
<span class="hljs-string">"outVariable"</span> : {
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">0</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"p"</span>
|
|
},
|
|
<span class="hljs-string">"ranges"</span> : [
|
|
[
|
|
{
|
|
<span class="hljs-string">"variable"</span> : <span class="hljs-string">"p"</span>,
|
|
<span class="hljs-string">"attr"</span> : <span class="hljs-string">"id"</span>,
|
|
<span class="hljs-string">"lowConst"</span> : {
|
|
<span class="hljs-string">"bound"</span> : <span class="hljs-number">25</span>,
|
|
<span class="hljs-string">"include"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"isConstant"</span> : <span class="hljs-literal">true</span>
|
|
},
|
|
<span class="hljs-string">"highConst"</span> : {
|
|
<span class="hljs-string">"bound"</span> : <span class="hljs-number">25</span>,
|
|
<span class="hljs-string">"include"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"isConstant"</span> : <span class="hljs-literal">true</span>
|
|
},
|
|
<span class="hljs-string">"lows"</span> : [ ],
|
|
<span class="hljs-string">"highs"</span> : [ ],
|
|
<span class="hljs-string">"valid"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"equality"</span> : <span class="hljs-literal">true</span>
|
|
}
|
|
]
|
|
],
|
|
<span class="hljs-string">"index"</span> : {
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"hash"</span>,
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-string">"736025031"</span>,
|
|
<span class="hljs-string">"unique"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"sparse"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"selectivityEstimate"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"fields"</span> : [
|
|
<span class="hljs-string">"id"</span>
|
|
]
|
|
},
|
|
<span class="hljs-string">"reverse"</span> : <span class="hljs-literal">false</span>
|
|
},
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"ReturnNode"</span>,
|
|
<span class="hljs-string">"dependencies"</span> : [
|
|
<span class="hljs-number">6</span>
|
|
],
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">5</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">2.989999505</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"inVariable"</span> : {
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">0</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"p"</span>
|
|
}
|
|
}
|
|
],
|
|
<span class="hljs-string">"rules"</span> : [
|
|
<span class="hljs-string">"use-index-range"</span>,
|
|
<span class="hljs-string">"remove-filter-covered-by-index"</span>
|
|
],
|
|
<span class="hljs-string">"collections"</span> : [
|
|
{
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"products"</span>,
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"read"</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"variables"</span> : [
|
|
{
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">2</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"1"</span>
|
|
},
|
|
{
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">0</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"p"</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">2.989999505</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">1</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"warnings"</span> : [ ],
|
|
<span class="hljs-string">"stats"</span> : {
|
|
<span class="hljs-string">"rulesExecuted"</span> : <span class="hljs-number">23</span>,
|
|
<span class="hljs-string">"rulesSkipped"</span> : <span class="hljs-number">0</span>,
|
|
<span class="hljs-string">"plansCreated"</span> : <span class="hljs-number">1</span>
|
|
},
|
|
<span class="hljs-string">"error"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"code"</span> : <span class="hljs-number">200</span>
|
|
}
|