首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图查询--其中out vs选择展开

图查询--其中out vs选择展开
EN

Stack Overflow用户
提问于 2017-03-29 12:51:48
回答 1查看 168关注 0票数 0

这些解决方案之一是客观上更好,还是全部取决于数据?Explain选项告诉我,实际上,优化器处理查询的方式不同。这只是一个例子,我将在我的应用程序中有很多这样的查询,我想知道执行这种过滤的最佳方法。

代码语言:javascript
复制
SELECT * 
FROM 
    (SELECT expand(in('hasPermission')) 
     FROM Permission 
     WHERE type IN ['USER']) 
WHERE 
    login >="admin" 
ORDER BY 
    login ASC
LIMIT 3

SELECT * 
FROM User 
WHERE login >= "admin" 
  AND out("hasPermission").type IN ["USER"] 
ORDER BY login ASC 
LIMIT 3
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-30 06:34:21

这在很大程度上取决于域。假设v2.2中的查询优化器只是开始扫描(或查询索引)目标类(第一个查询中的权限,第二个查询中的用户),然后继续遍历。

如果在type属性中有很少的权限记录,并且每个权限的传入边数很低,那么第一个查询就会更高效。如果您在type上有一个索引,那就更好了

如果login > "admin“(同样,可能有索引)的用户很少,并且每个用户的传出边数较低,则第二个查询更有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43094070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档