mirror of https://gitee.com/bigwinds/arangodb
39 lines
3.0 KiB
Plaintext
39 lines
3.0 KiB
Plaintext
arangosh> <span class="hljs-keyword">var</span> explain = <span class="hljs-built_in">require</span>(<span class="hljs-string">"@arangodb/aql/explainer"</span>).explain;
|
|
arangosh> db.example.ensureIndex({ <span class="hljs-attr">type</span>: <span class="hljs-string">"skiplist"</span>, <span class="hljs-attr">fields</span>: [ <span class="hljs-string">"a"</span>, <span class="hljs-string">"b"</span> ] });
|
|
{
|
|
<span class="hljs-string">"deduplicate"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"fields"</span> : [
|
|
<span class="hljs-string">"a"</span>,
|
|
<span class="hljs-string">"b"</span>
|
|
],
|
|
<span class="hljs-string">"id"</span> : <span class="hljs-string">"example/68965"</span>,
|
|
<span class="hljs-string">"isNewlyCreated"</span> : <span class="hljs-literal">true</span>,
|
|
<span class="hljs-string">"name"</span> : <span class="hljs-string">"idx_1646382033809702914"</span>,
|
|
<span class="hljs-string">"selectivityEstimate"</span> : <span class="hljs-number">1</span>,
|
|
<span class="hljs-string">"sparse"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"type"</span> : <span class="hljs-string">"skiplist"</span>,
|
|
<span class="hljs-string">"unique"</span> : <span class="hljs-literal">false</span>,
|
|
<span class="hljs-string">"code"</span> : <span class="hljs-number">201</span>
|
|
}
|
|
arangosh> explain(<span class="hljs-string">"FOR doc IN example FILTER doc.a < 23 RETURN doc"</span>, {<span class="hljs-attr">colors</span>:<span class="hljs-literal">false</span>});
|
|
Query <span class="hljs-built_in">String</span> (<span class="hljs-number">47</span> chars, <span class="hljs-attr">cacheable</span>: <span class="hljs-literal">true</span>):
|
|
FOR doc IN example FILTER doc.a < <span class="hljs-number">23</span> RETURN doc
|
|
|
|
Execution plan:
|
|
Id NodeType Est. Comment
|
|
<span class="hljs-number">1</span> SingletonNode <span class="hljs-number">1</span> * ROOT
|
|
<span class="hljs-number">6</span> IndexNode <span class="hljs-number">0</span> - FOR doc IN example <span class="hljs-comment">/* skiplist index scan */</span>
|
|
<span class="hljs-number">5</span> ReturnNode <span class="hljs-number">0</span> - RETURN doc
|
|
|
|
Indexes used:
|
|
By Name Type Collection Unique Sparse Selectivity Fields Ranges
|
|
<span class="hljs-number">6</span> idx_1646382033809702914 skiplist example <span class="hljs-literal">false</span> <span class="hljs-literal">false</span> <span class="hljs-number">100.00</span> % [ <span class="hljs-string">`a`</span>, <span class="hljs-string">`b`</span> ] (doc.<span class="hljs-string">`a`</span> < <span class="hljs-number">23</span>)
|
|
|
|
Optimization rules applied:
|
|
Id RuleName
|
|
<span class="hljs-number">1</span> use-indexes
|
|
<span class="hljs-number">2</span> remove-filter-covered-by-index
|
|
<span class="hljs-number">3</span> remove-unnecessary-calculations<span class="hljs-number">-2</span>
|
|
|
|
|