AQL的Arangodb响应缓慢

时间:2014-07-16 22:45:39

标签: arangodb

当我像这样嵌套查询时

FOR f in friends 
  FOR l in locations 
     FILTER l.friends_id == f.id
RETURN {'friends':f, 'locations':l}

(3484结果)。

响应缓慢(7到10秒之间)通过Web界面返回结果和arangosh

我担心:这个响应时间不是太大了?生产数据库将远远大于此,并可能带来性能问题。

有什么想法吗? 此致!

1 个答案:

答案 0 :(得分:2)

我尝试过以下方法:

arangosh [_system]> db._create("users");
[ArangoCollection 1252513721, "users" (type document, status loaded)]

arangosh [_system]> db._create("locations");
[ArangoCollection 1252644793, "locations" (type document, status loaded)]

arangosh [_system]> db._query("FOR i IN 1 .. 10000 INSERT { 'id': i, 'name': 'Name' } INTO users").toArray()
[ ]

arangosh [_system]> db._query("FOR i IN 1 .. 10000 INSERT { 'friends_id': i, 'name': 'Name' } INTO  locations").toArray()
[ ]

arangosh [_system]> db.locations.ensureHashIndex("friends_id")

var a = db._query("FOR f IN users FOR l IN locations FILTER l.friends_id == f.id RETURN { 'u': f, 'l': l}")

这将很快返回1000条记录。

你能执行" ensureHashIndex"然后再试一次?它现在更快吗?