- nebula 版本:3.0.2
- 部署方式:分布式
- 安装方式:tar
- 是否为线上版本:Y
- 硬件信息
- 磁盘( 推荐使用 SSD)
- CPU、内存信息
- lookup 加了where 条件进行tag统计,把一台graphd内存打爆了 一台机器64g直接占满 61g
统计tag量级是1.3亿 单台内存64g
lookup on test where test.flag==true yield id(vertex)|yield count(*) as count;
lookup on test where test.flag==true yield 1|yield count(*) as count;
这条执行后,内存消耗到40g执行完了;那官方案例里面
这个不是要把所有id拉到一台graphd上面进行统计,这个能跑不
生产业务需要,有修改的tag在删除的时候 逻辑删除是修改flag==false,统计的时候就只能通过索引来过滤 掉 flag==false的节点;如果实在lookup where |count 不能使用,就只能放弃逻辑删除改为真删除,用show stats来实现了
profile 一下语句看看
谢了 我在社区看到 lookup 聚合下推是3.1.0 实现的,这种 lookup yield id(vertex)| yield count(*)
count 会下推么
这个后续有优化的打算么
你好,这个我觉得是应该优化的,建议可以提个issue,我们会根据优先级来排具体时间。
https://github.com/vesoft-inc/nebula/issues/new/choose
在实现之前,建议你可以用真删除+show stats
好的 谢谢
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。