Neo4j不存在,为空

new9mtju  于 2023-02-04  发布在  其他
关注(0)|答案(1)|浏览(148)

逃跑和逃跑有什么区别

MATCH (n) WHERE NOT exists(n.foo) RETURN n

以及

MATCH (f) WHERE f.foo IS NULL RETURN f

我运行了两个查询,得到了相同的结果,是性能上的差异还是其他原因?

oxalkeyp

oxalkeyp1#

让我们创建一个小的示例数据集:

CREATE (n1 {foo: 'bar'}), (n2)

我们使用PROFILE来显示执行计划和每个步骤中的行数。
对于查询MATCH (n) WHERE NOT exists(n.foo) RETURN n

对于查询MATCH (f) WHERE f.foo IS NULL RETURN f

执行计划显示实际行数(在处理步骤之间旅行)和数据库命中的数量是相同的。过滤条件有点不同,但我不会期望有任何显著的差异-执行时间将很可能由磁盘访问和正如EJP评论的那样由网络传输主导。当然,要肯定的是,您必须在更大的数据集上运行基准测试。

相关问题