bigquery ORDER BY子句使用哪种排序算法



它使用冒泡排序/合并排序…算法类型吗?关于这些类型的语句的后台执行,是否有任何可用的文档/信息?

不确定你为什么被否决,因为我认为这在任何地方都没有描述过。在单个分区中,BigQuery使用introsort,根据ORDERBY子句中的列的类型和数量,使用一些技巧。例如,如果您有一个名为xINT64列,并且运行以下形式的查询:

SELECT x
FROM dataset.table
ORDER BY x

BigQuery将把所有的x值加载到一个向量中,然后对它们进行排序并返回。但是,如果在选择列表或ORDERBY子句中有多个列,那么就不那么简单了。

最新更新