提问参考模版:
- nebula 版本: 2.5.0
- 部署方式:单机
- 安装方式:RPM
- 是否为线上版本:Y
使用lookup on 获取所有实体点
LOOKUP ON department YIELD department.department_name AS name
请问支持分页查询吗,还是一次性查出来,交由前端分页,这样数据量太大会不会有问题?
提问参考模版:
使用lookup on 获取所有实体点
LOOKUP ON department YIELD department.department_name AS name
请问支持分页查询吗,还是一次性查出来,交由前端分页,这样数据量太大会不会有问题?
如果是nebula最新版,可以试试where子句。例如,LOOKUP ON department WHERE department.department_name > yyy AND department.department_name < zzz YIELD department.department_name AS name。其中,[yyy, zzz] 代表department_name这个属性值的一个范围。如果是2.5.0,需要找一个非字符串的属性进行过滤
后面加个limit不可以吗,indexscan和limit节点有个合并下推的优化规则。
可以使用类似这样的语法:LOOKUP ON department YIELD department.department_name AS name | LIMIT 10
是要这样的效果吗? LOOKUP xxxx | LIMIT 10,20
这样也是支持的。
好的呢,但是如果要做到分页,似乎还需要知道总数count,这样该怎么办呢
可以写个脚本循环判断一下。例如,
LOOKUP ON department YIELD department.department_name AS name | LIMIT 0, 1000
(判断一下结果是否为空,不为空,则继续)
LOOKUP ON department YIELD department.department_name AS name | LIMIT 1000, 1999
…
直到结果集为空。
好的感谢,我直接通过 show stats 拿到总数量了。这样就可以做某一个tag的分页啦 多谢~~~
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。