当排序键值相同,那doris返回的数据按照什么规则排序

Viewed 43

使用doris 2.0.2版本,数据查询排序遇到每次查询返回的数据的顺序都不一样的问题
1、设置排序键:
第一次查询结果
image.png
第二次查询结果
image.png
2、没有设置排序键:
第一次查询结果
image.png
第二次查询结果
image.png

3、疑问
1)、如果不设置order by键,返回的数据doris怎么排序。
2)、如果设置了一个order by键但值相等,返回的数据doris怎么排序。
谢谢了

1 Answers

在这两种情况下,都是随机的。
因为Doris 是一个分布式的系统,order by的数据来自于多个BE,如果来自不同BE的数据的排序列的值相等,就是按照数据到达的先后顺序来排序的,而这个顺序是不能保证的。
即使只有一个BE,顺序依然不能保证,因为Doris 底层扫描数据时是多个线程并行扫描的,而多个线程扫描后传递给上层的顺序仍然不能保证,所以这个顺序也是不能保证的。