mirror of https://gitee.com/bigwinds/arangodb
204 lines
13 KiB
Plaintext
204 lines
13 KiB
Plaintext
arangosh> stmt.explain({ <span class="hljs-attr">optimizer</span>: { <span class="hljs-attr">rules</span>: [ <span class="hljs-string">"-use-index-range"</span>, <span class="hljs-string">"-use-index-for-sort"</span> ] } });
|
|
{
|
|
<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">9</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">10.143856189774723</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">50</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">"i"</span>
|
|
},
|
|
<span class="hljs-string">"projections"</span> : [
|
|
<span class="hljs-string">"value"</span>
|
|
],
|
|
<span class="hljs-string">"producesResult"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"database"</span> : <span class="hljs-string">"_system"</span>,
|
|
<span class="hljs-string">"collection"</span> : <span class="hljs-string">"test"</span>,
|
|
<span class="hljs-string">"satellite"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"needsGatherNodeSort"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"indexCoversProjections"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"indexes"</span> : [
|
|
{
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-string">"64886"</span>,
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"skiplist"</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"idx_1646382032803069956"</span>,
|
|
<span class="hljs-string">"fields"</span> : [
|
|
<span class="hljs-string">"value"</span>
|
|
],
|
|
<span class="hljs-string">"selectivityEstimate"</span> : <span class="hljs-number">1</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">"deduplicate"</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">"typeID"</span> : <span class="hljs-number">63</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">"typeID"</span> : <span class="hljs-number">62</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"compare >"</span>,
|
|
<span class="hljs-string">"typeID"</span> : <span class="hljs-number">29</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"attribute access"</span>,
|
|
<span class="hljs-string">"typeID"</span> : <span class="hljs-number">35</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"value"</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"reference"</span>,
|
|
<span class="hljs-string">"typeID"</span> : <span class="hljs-number">45</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"i"</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">"typeID"</span> : <span class="hljs-number">40</span>,
|
|
<span class="hljs-string">"value"</span> : <span class="hljs-number">97</span>,
|
|
<span class="hljs-string">"vType"</span> : <span class="hljs-string">"int"</span>,
|
|
<span class="hljs-string">"vTypeID"</span> : <span class="hljs-number">2</span>
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
<span class="hljs-string">"sorted"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"ascending"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"reverse"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"evalFCalls"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"limit"</span> : <span class="hljs-number">0</span>
|
|
},
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"CalculationNode"</span>,
|
|
<span class="hljs-string">"dependencies"</span> : [
|
|
<span class="hljs-number">9</span>
|
|
],
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">5</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">60.14385618977472</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">50</span>,
|
|
<span class="hljs-string">"expression"</span> : {
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"attribute access"</span>,
|
|
<span class="hljs-string">"typeID"</span> : <span class="hljs-number">35</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"value"</span>,
|
|
<span class="hljs-string">"subNodes"</span> : [
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"reference"</span>,
|
|
<span class="hljs-string">"typeID"</span> : <span class="hljs-number">45</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"i"</span>,
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">0</span>
|
|
}
|
|
]
|
|
},
|
|
<span class="hljs-string">"outVariable"</span> : {
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">4</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"3"</span>
|
|
},
|
|
<span class="hljs-string">"canThrow"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"expressionType"</span> : <span class="hljs-string">"attribute"</span>
|
|
},
|
|
{
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"SortNode"</span>,
|
|
<span class="hljs-string">"dependencies"</span> : [
|
|
<span class="hljs-number">5</span>
|
|
],
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">6</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">342.33666567851094</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">50</span>,
|
|
<span class="hljs-string">"elements"</span> : [
|
|
{
|
|
<span class="hljs-string">"inVariable"</span> : {
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">4</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"3"</span>
|
|
},
|
|
<span class="hljs-string">"ascending"</span> : <span class="hljs-literal">true</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"stable"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"limit"</span> : <span class="hljs-number">0</span>,
|
|
<span class="hljs-string">"strategy"</span> : <span class="hljs-string">"standard"</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">8</span>,
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">392.33666567851094</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">50</span>,
|
|
<span class="hljs-string">"inVariable"</span> : {
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">4</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"3"</span>
|
|
},
|
|
<span class="hljs-string">"count"</span> : <span class="hljs-literal">true</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"rules"</span> : [
|
|
<span class="hljs-string">"move-calculations-up"</span>,
|
|
<span class="hljs-string">"move-filters-up"</span>,
|
|
<span class="hljs-string">"remove-redundant-calculations"</span>,
|
|
<span class="hljs-string">"remove-unnecessary-calculations"</span>,
|
|
<span class="hljs-string">"move-calculations-up-2"</span>,
|
|
<span class="hljs-string">"move-filters-up-2"</span>,
|
|
<span class="hljs-string">"use-indexes"</span>,
|
|
<span class="hljs-string">"remove-filter-covered-by-index"</span>,
|
|
<span class="hljs-string">"remove-unnecessary-calculations-2"</span>,
|
|
<span class="hljs-string">"reduce-extraction-to-projection"</span>
|
|
],
|
|
<span class="hljs-string">"collections"</span> : [
|
|
{
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"test"</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">6</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"5"</span>
|
|
},
|
|
{
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-number">4</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"3"</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">"i"</span>
|
|
}
|
|
],
|
|
<span class="hljs-string">"estimatedCost"</span> : <span class="hljs-number">392.33666567851094</span>,
|
|
<span class="hljs-string">"estimatedNrItems"</span> : <span class="hljs-number">50</span>,
|
|
<span class="hljs-string">"initialize"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"isModificationQuery"</span> : <span class="hljs-literal">false</span>
|
|
},
|
|
<span class="hljs-string">"warnings"</span> : [ ],
|
|
<span class="hljs-string">"stats"</span> : {
|
|
<span class="hljs-string">"rulesExecuted"</span> : <span class="hljs-number">35</span>,
|
|
<span class="hljs-string">"rulesSkipped"</span> : <span class="hljs-number">1</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>
|
|
}
|