Comparing to map/reduce views.
Indexes:
CREATE INDEX type_idx ON dev_sync_gateway_sw1(type
) USING GSI
CREATE INDEX lastName_idx ON dev_sync_gateway_sw1(lastName
) USING GSI
“EXPLAIN Select r.id, r.fullName FROM dev_sync_gateway_sw1 r WHERE r.type=‘user’ Order By r.lastName limit 50”
Explain with Order By
[ { "#operator": "Sequence", "~children": [ { "#operator": "Sequence", "~children": [ { "#operator": "IndexScan", "index": "type_locations_idx", "keyspace": "dev_sync_gateway_sw1", "limit": 9223372036854776000, "namespace": "default", "spans": [ { "Range": { "High": [ "successor(\"user\")" ], "Inclusion": 1, "Low": [ "\"user\"" ] }, "Seek": null } ], "using": "gsi" }, { "#operator": "Parallel", "~child": { "#operator": "Sequence", "~children": [ { "#operator": "Fetch", "as": "r", "keyspace": "dev_sync_gateway_sw1", "namespace": "default" }, { "#operator": "Filter", "condition": "((
r.
type) = \"user\")" }, { "#operator": "InitialProject", "result_terms": [ { "expr": "(
r.
id)" }, { "expr": "(
r.
fullName)" } ] } ] } } ] }, { "#operator": "Order", "sort_terms": [ { "expr": "(
r.
lastName)" } ] }, { "#operator": "Limit", "expr": "50" }, { "#operator": "FinalProject" } ] } ]
EXPLAIN Select r.id, r.fullName FROM dev_sync_gateway_sw1 r WHERE r.type=‘user’ limit 50
[ { "#operator": "Sequence", "~children": [ { "#operator": "Sequence", "~children": [ { "#operator": "IndexScan", "index": "type_idx", "keyspace": "dev_sync_gateway_sw1", "limit": 9223372036854776000, "namespace": "default", "spans": [ { "Range": { "High": [ "\"user\"" ], "Inclusion": 3, "Low": [ "\"user\"" ] }, "Seek": null } ], "using": "gsi" }, { "#operator": "Parallel", "~child": { "#operator": "Sequence", "~children": [ { "#operator": "Fetch", "as": "r", "keyspace": "dev_sync_gateway_sw1", "namespace": "default" }, { "#operator": "Filter", "condition": "((
r.
type) = \"user\")" }, { "#operator": "InitialProject", "result_terms": [ { "expr": "(
r.
id)" }, { "expr": "(
r.
fullName)" } ] }, { "#operator": "FinalProject" } ] } } ] }, { "#operator": "Limit", "expr": "50" } ] } ]