怎么删除tag和edge下面所有的点?

提问参考模版:

  • nebula 版本:v2-rc1
  • 部署方式(分布式 / 单机 / Docker / DBaaS):单机
  • 问题的具体描述

想问下有没有批量删除tag或者edge数据方法,类似truncate,
用语句LOOKUP ON test | DELETE VERTEX $-.VertexID;删除,67W+数据用了13-16s

你直接drop tag test,所有有test这个tag的点都会被删除。但是点的边不会删除。

用语句LOOKUP ON test | DELETE VERTEX $-.VertexID;删除,67W+数据用了13-16s

用delete删除点,会把点的出入边一起删了。

因为会多次全量导入数据,每个tag可能有多个索引,每次处理数据有没有不删除tag的办法,还是先删除tag,导入数据后再建立tag,建立索引

为啥每次全量导入数据后要做删除,然后再导入数据,意义是什么,每次全量导入数据的周期是多长,可以说下应用场景吗?

因为会多次全量导入数据,每个tag可能有多个索引,每次处理数据有没有不删除tag的办法,还是先删除tag,导入数据后再建立tag,建立索引

这个也是可以,但是要看你导入数据和删除数据的应用场景。

没明白你这样的目的是什么。

在不drop tap和edge的情况下,批量删除tag或者edge数据,delete是一条一条删,就是想看有没有效率删除的方法,这个可以当提个需求。类似oracle数据库truncate,速度快

我记得 truncate一年多前有讨论过,后来呢@jude?

好像现在只能 drop index; drop tag; drop edge; drop space这样一个顺序。

之前提的是 truncate space 的

感谢你的建议,这个需求,我们会内部评审的,有结果会在这里说。

@steam

1 个赞

jira oncall 111

你好,想问下这个需求有结果吗?
现在清空tag数据,只能drop tag,而drop tag需要先删除索引。
使用delete vertex $-.VertexID,数据量大了会报错。
如果对一个tag多次入库删除数据操作,会对tag多次drop,并且对索引多次删除及重建。

@jamieliu1023 这个需求的评审结果在这放一下吧

目前这个需求是待开发状态,还没有安排相对应的研发同学进行开发,有进一步的进展,我会来更新下贴息哈