performance - 简单但很长的请求
问题描述
我正在尝试做这个简单的请求:
MATCH (p:Player)
MERGE (a:Alias {name:p.name})
MERGE (p)-[r:AKA]->(a)
RETURN count(*)
它将注册玩家的每个旧昵称。
我只想为每个玩家创建/合并一个节点别名,并将它们连接起来。
大约有 10 万个 Player 节点。
我不明白为什么要花这么长时间。
当我描述请求时,我有:
我真的不明白为什么我有一个大约有 30 亿行的分支。
解决方案
您可以做的第一个改进是在 :Alias(name) 上创建一个索引,您将看到查询中已经有一个疯狂的差异:
CREATE INDEX ON :Alias(name);
推荐阅读
- r - 使用 ggplot2 在 R 中制作多线图
- assembly - 有没有办法在汇编中将键盘重复延迟设置为零?
- kotlin - 带有 diffutil 的 recyclerview 中的 submitList() 导致 recyclerview 闪烁
- azure - Azure Function App VS 2019 .NET 3.0 中的错误 - 找不到方法:'IFunctionsHostBuilder.get_Services()'
- c# - CefSharp winfoms 页面加载并等待
- ios - iOS - 日期打印前一天
- php - 如何使用 .htaccess 将某些类型的 URL 更改为另一种类型?
- node.js - 文件域上“Node app.js”的等价物是什么?
- c# - MVC 核心,将根视图文件夹更改为 UI,出现“默认身份 UI 布局需要部分视图 '_LoginPartial'”错误
- c# - 从 .Net Core 3.0 预览版升级到 .Net Core 3.0 版本后启动时出错