aql - How to approximate execution time of ArangoDB count function -


i considering using arangodb new project of mine, have been unable find information regarding scalability.

specifically, looking information regarding count function. there reliable way (perhaps formula) approximate how long take count number of documents in collection match simple boolean value?

all documents in collection have same fields, different values. how can determine how long take count several hundred million documents?

just create collection users , insert many random documents need.

for in 1..1100000 insert {    name: concat("test", i),    year: 1970 + floor(rand() * 55),   gender: % 2 == 0 ? 'male' : 'female'   } in users 

then count:

for user in users   filter user.gender == 'male'   collect count number return {    number: number  } 

and if use query in production, make sure add index too. on machine reduces execution time factor > 100x (0.043 sec / 1.1mio documents).

check query explain further estimate how "expensive" execution be.

query string:  user in users    filter user.gender == 'male'    collect count number    return {       number: number     }  execution plan:  id   nodetype            est.   comment   1   singletonnode          1   * root   8   indexrangenode    550001     - user in users   /* hash index scan */   5   aggregatenode          1       - collect  count number   /* sorted*/   6   calculationnode        1       - let #4 = { "number" : number }   /* simple expression */   7   returnnode             1       - return #4  indexes used:  id   type   collection   unique   sparse   selectivity est.   fields     ranges   8   hash   users        false    false              0.00 %   `gender`   [ `gender` == "male" ]  optimization rules applied:  id   rulename   1   use-index-range   2   remove-filter-covered-by-index 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -