mirror of https://gitee.com/bigwinds/arangodb
119 lines
6.6 KiB
Plaintext
119 lines
6.6 KiB
Plaintext
arangosh> <span class="hljs-keyword">var</span> stmt = db._createStatement(
|
|
........> <span class="hljs-string">`FOR doc IN @@collection FILTER doc.user == @user RETURN doc`</span>
|
|
........> );
|
|
arangosh> stmt.bind({ <span class="hljs-string">"@collection"</span> : <span class="hljs-string">"_users"</span>, <span class="hljs-string">"user"</span> : <span class="hljs-string">"root"</span> });
|
|
arangosh> stmt.explain();
|
|
{
|
|
<span class="hljs-string">"plan"</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">"IndexNode"</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">2</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">"_users"</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">"doc"</span>
|
|
},
|
|
<span class="hljs-string">"indexes"</span> : [
|
|
{
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-string">"11"</span>,
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"hash"</span>,
|
|
<span class="hljs-string">"fields"</span> : [
|
|
<span class="hljs-string">"user"</span>
|
|
],
|
|
<span class="hljs-string">"selectivityEstimate"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"unique"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"sparse"</span> : <span class="hljs-literal">true</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"condition"</span> : {
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"n-ary or"</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"n-ary and"</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"compare =="</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"attribute access"</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"user"</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"reference"</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"doc"</span>,
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">0</span>
|
|
}
|
|
]
|
|
},
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"value"</span>,
|
|
<span class="hljs-string">"value"</span> : <span class="hljs-string">"root"</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">3</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">"doc"</span>
|
|
}
|
|
}
|
|
],
|
|
<span class="hljs-string">"rules"</span> : [
|
|
<span class="hljs-string">"use-indexes"</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">"_users"</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">"doc"</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">3</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">26</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">"cacheable"</span> : <span class="hljs-literal">true</span>
|
|
}
|