DELETE VERTEX¶
DELETE VERTEX
语句可以删除点,但是默认不删除该点关联的出边和入边。
Compatibility
NebulaGraph 2.x 默认删除点及关联该点的出边和入边,NebulaGraph 3.5.0 默认只删除点,不删除该点关联的出边和入边,此时将默认存在悬挂边。
DELETE VERTEX
语句一次可以删除一个或多个点。用户可以结合管道符一起使用,详情请参见管道符。
Note
DELETE VERTEX
是直接删除点,不删除关联的边。
DELETE TAG
是删除指定点上的指定 Tag。
语法¶
DELETE VERTEX <vid> [ , <vid> ... ] [WITH EDGE];
WITH EDGE
: 删除该点关联的出边和入边。
示例¶
# 删除 VID 为 `team1` 的点,不删除该点关联的出边和入边。
nebula> DELETE VERTEX "team1";
# 删除 VID 为 `team1` 的点,并删除该点关联的出边和入边。
nebula> DELETE VERTEX "team1" WITH EDGE;
# 结合管道符,删除符合条件的点。
nebula> GO FROM "player100" OVER serve WHERE properties(edge).start_year == "2021" YIELD dst(edge) AS id | DELETE VERTEX $-.id;
删除过程¶
NebulaGraph找到目标点并删除,该目标点的所有邻边(出边和入边)将成为悬挂边。
Caution
- 不支持原子性删除,如果发生错误请重试,避免出现部分删除的情况。否则会导致悬挂边。
- 删除超级节点耗时较多,为避免删除完成前连接超时,可以调整
nebula-graphd.conf
中的参数--storage_client_timeout_ms
延长超时时间。
悬挂边视频¶
- NebulaGraph 的悬挂边小科普(2 分 28 秒)
最后更新:
January 31, 2024