neo4j - WITH - Neo4j 中的 WHERE
问题描述
谁能解释两个查询之间的区别:(我更改了 WHERE 和 WITH 的顺序)
MATCH (t:Transaction)
WHERE t.AcctNumber = '001'
WITH COLLECT(t.ActivityDate) as date, COLLECT(t.Amount) as amount, t
RETURN t.AccNumber, date, amount
和
MATCH (t:Transaction)
WITH COLLECT(t.ActivityDate) as date, COLLECT(t.Amount) as amount, t
WHERE t.AcctNumber = '001'
RETURN t.AccNumber, date, amount
WHERE 和 WITH 的顺序对我的查询性能有影响吗?#Neo4j,密码
解决方案
您可以使用“PROFILE [您的查询]”来查看会发生什么。如果没有可测试的数据集,我无法向您展示,但在第一个查询中,您收集有关选择的信息 (t.acctNumber = 001),而在第二个查询中,您收集所有交易以及您过滤的所有交易。所以简而言之,第一个查询可以最小化直接处理的命中数,而在第二个查询中,您只在收集之后才这样做,这需要更多的计算能力。
推荐阅读
- python - 如何有效地使用 numpy 随机选择来改变权重列表
- laravel - 在插入数据库 larav 之前将儒略日期转换为公历
- javascript - Bootstrap 4.6 折叠不切换(打开或关闭)
- javascript - 只需单击几下即可创建包含所有必要文件的组件目录
- python - FASTApi 和 nginx 缺少静态路径
- informatica - Informatica BDM 映射/应用程序的问题
- php - Magento 2 注册回调 URL / webbook,例如添加到购物车,无需在 Magento 中更改代码
- javascript - 异步获取然后关闭窗口
- amazon-web-services - 为什么 AWS Elastic Beanstalk 不通过自定义 JWT?
- r - 用同一列中的多个字符串替换多个字符串?