请问order by和limit算子,是不是并没有下推到存储层计算?

例如,有这样一条语句:GO xxx | order by xxx | limit 5。通过阅读nebula graph源码,发现管道的前一句执行完毕,把结果传给下一句。这样的话,假如GO要发送到多个分区去执行查找,把各个分区的数据都拉回到本地后再做排序和截断吗?有没有做这样的优化:GO语句发送到每个分区时,带着order by和limit算子,先在每个分区做排序和截断,再拉回本地后,所有分区的数据再排序,再截断。这样网络中传输的数据量就会小,性能就会高。请问,nebula graph做了这样的优化吗?

你理解的是对的,目前没有做limit、order还没有做下推优化,暂时只有部分filter是下推了的。2.0之后会把这些部分都下推。

1赞

2.0后还会继续开源吗?

2.0 nebula 源码会开源的

浙ICP备20010487号