mirror of https://gitee.com/bigwinds/arangodb
232 lines
5.4 KiB
Plaintext
232 lines
5.4 KiB
Plaintext
shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain
|
|
{"query":"FOR p IN products LET a = p.id FILTER a == 4 LET name = p.name SORT p.id LIMIT 1 RETURN name","options":{"maxNumberOfPlans":2,"allPlans":true,"optimizer":{"rules":["-all","+use-index-for-sort","+use-index-range"]}}}
|
|
|
|
HTTP/1.1 200 OK
|
|
content-type: application/json; charset=utf-8
|
|
|
|
{
|
|
"plans" : [
|
|
{
|
|
"nodes" : [
|
|
{
|
|
"type" : "SingletonNode",
|
|
"dependencies" : [ ],
|
|
"id" : 1,
|
|
"estimatedCost" : 1,
|
|
"estimatedNrItems" : 1
|
|
},
|
|
{
|
|
"type" : "IndexRangeNode",
|
|
"dependencies" : [
|
|
1
|
|
],
|
|
"id" : 11,
|
|
"estimatedCost" : 11,
|
|
"estimatedNrItems" : 10,
|
|
"database" : "_system",
|
|
"collection" : "products",
|
|
"outVariable" : {
|
|
"id" : 0,
|
|
"name" : "p"
|
|
},
|
|
"ranges" : [
|
|
[ ]
|
|
],
|
|
"index" : {
|
|
"type" : "skiplist",
|
|
"id" : "1170401627",
|
|
"unique" : false,
|
|
"sparse" : false,
|
|
"fields" : [
|
|
"id"
|
|
]
|
|
},
|
|
"reverse" : false
|
|
},
|
|
{
|
|
"type" : "CalculationNode",
|
|
"dependencies" : [
|
|
11
|
|
],
|
|
"id" : 3,
|
|
"estimatedCost" : 21,
|
|
"estimatedNrItems" : 10,
|
|
"expression" : {
|
|
"type" : "attribute access",
|
|
"name" : "id",
|
|
"subNodes" : [
|
|
{
|
|
"type" : "reference",
|
|
"name" : "p",
|
|
"id" : 0
|
|
}
|
|
]
|
|
},
|
|
"outVariable" : {
|
|
"id" : 1,
|
|
"name" : "a"
|
|
},
|
|
"canThrow" : false
|
|
},
|
|
{
|
|
"type" : "CalculationNode",
|
|
"dependencies" : [
|
|
3
|
|
],
|
|
"id" : 4,
|
|
"estimatedCost" : 31,
|
|
"estimatedNrItems" : 10,
|
|
"expression" : {
|
|
"type" : "compare ==",
|
|
"subNodes" : [
|
|
{
|
|
"type" : "reference",
|
|
"name" : "a",
|
|
"id" : 1
|
|
},
|
|
{
|
|
"type" : "value",
|
|
"value" : 4
|
|
}
|
|
]
|
|
},
|
|
"outVariable" : {
|
|
"id" : 3,
|
|
"name" : "3"
|
|
},
|
|
"canThrow" : false
|
|
},
|
|
{
|
|
"type" : "FilterNode",
|
|
"dependencies" : [
|
|
4
|
|
],
|
|
"id" : 5,
|
|
"estimatedCost" : 41,
|
|
"estimatedNrItems" : 10,
|
|
"inVariable" : {
|
|
"id" : 3,
|
|
"name" : "3"
|
|
}
|
|
},
|
|
{
|
|
"type" : "CalculationNode",
|
|
"dependencies" : [
|
|
5
|
|
],
|
|
"id" : 6,
|
|
"estimatedCost" : 51,
|
|
"estimatedNrItems" : 10,
|
|
"expression" : {
|
|
"type" : "attribute access",
|
|
"name" : "name",
|
|
"subNodes" : [
|
|
{
|
|
"type" : "reference",
|
|
"name" : "p",
|
|
"id" : 0
|
|
}
|
|
]
|
|
},
|
|
"outVariable" : {
|
|
"id" : 2,
|
|
"name" : "name"
|
|
},
|
|
"canThrow" : false
|
|
},
|
|
{
|
|
"type" : "CalculationNode",
|
|
"dependencies" : [
|
|
6
|
|
],
|
|
"id" : 7,
|
|
"estimatedCost" : 61,
|
|
"estimatedNrItems" : 10,
|
|
"expression" : {
|
|
"type" : "attribute access",
|
|
"name" : "id",
|
|
"subNodes" : [
|
|
{
|
|
"type" : "reference",
|
|
"name" : "p",
|
|
"id" : 0
|
|
}
|
|
]
|
|
},
|
|
"outVariable" : {
|
|
"id" : 4,
|
|
"name" : "4"
|
|
},
|
|
"canThrow" : false
|
|
},
|
|
{
|
|
"type" : "LimitNode",
|
|
"dependencies" : [
|
|
7
|
|
],
|
|
"id" : 9,
|
|
"estimatedCost" : 62,
|
|
"estimatedNrItems" : 1,
|
|
"offset" : 0,
|
|
"limit" : 1,
|
|
"fullCount" : false
|
|
},
|
|
{
|
|
"type" : "ReturnNode",
|
|
"dependencies" : [
|
|
9
|
|
],
|
|
"id" : 10,
|
|
"estimatedCost" : 63,
|
|
"estimatedNrItems" : 1,
|
|
"inVariable" : {
|
|
"id" : 2,
|
|
"name" : "name"
|
|
}
|
|
}
|
|
],
|
|
"rules" : [
|
|
"use-index-for-sort"
|
|
],
|
|
"collections" : [
|
|
{
|
|
"name" : "products",
|
|
"type" : "read"
|
|
}
|
|
],
|
|
"variables" : [
|
|
{
|
|
"id" : 4,
|
|
"name" : "4"
|
|
},
|
|
{
|
|
"id" : 3,
|
|
"name" : "3"
|
|
},
|
|
{
|
|
"id" : 2,
|
|
"name" : "name"
|
|
},
|
|
{
|
|
"id" : 1,
|
|
"name" : "a"
|
|
},
|
|
{
|
|
"id" : 0,
|
|
"name" : "p"
|
|
}
|
|
],
|
|
"estimatedCost" : 63,
|
|
"estimatedNrItems" : 1
|
|
}
|
|
],
|
|
"warnings" : [ ],
|
|
"stats" : {
|
|
"rulesExecuted" : 4,
|
|
"rulesSkipped" : 28,
|
|
"plansCreated" : 1
|
|
},
|
|
"error" : false,
|
|
"code" : 200
|
|
}
|