1
0
Fork 0
arangodb/Documentation/Examples/AQLEXP_01_axplainer.generated

46 lines
1.5 KiB
Plaintext

arangosh> db._create("test");
[ArangoCollection 6948, "test" (type document, status loaded)]
arangosh> for (i = 0; i < 100; ++i) { db.test.save({ value: i }); }
arangosh> db.test.ensureIndex({ type: "skiplist", fields: [ "value" ] });
{
"id" : "test/7252",
"type" : "skiplist",
"fields" : [
"value"
],
"unique" : false,
"sparse" : false,
"isNewlyCreated" : true,
"code" : 201
}
arangosh> var explain = require("@arangodb/aql/explainer").explain;
arangosh> explain("FOR i IN test FILTER i.value > 97 SORT i.value RETURN i.value", {colors:false});
Query string:
FOR i IN test FILTER i.value > 97 SORT i.value RETURN i.value
Execution plan:
Id NodeType Est. Comment
1 SingletonNode 1 * ROOT
9 IndexNode 50 - FOR i IN test /* skiplist index scan */
5 CalculationNode 50 - LET #3 = i.`value` /* attribute expression */ /* collections used: i : test */
8 ReturnNode 50 - RETURN #3
Indexes used:
By Type Collection Unique Sparse Selectivity Fields Ranges
9 skiplist test false false n/a [ `value` ] (i.`value` > 97)
Optimization rules applied:
Id RuleName
1 move-calculations-up
2 move-filters-up
3 remove-redundant-calculations
4 remove-unnecessary-calculations
5 move-calculations-up-2
6 move-filters-up-2
7 use-indexes
8 remove-filter-covered-by-index
9 use-index-for-sort
10 remove-unnecessary-calculations-2