它使用冒泡排序/合并排序…算法类型吗?关于这些类型的语句的后台执行,是否有任何可用的文档/信息?
不确定你为什么被否决,因为我认为这在任何地方都没有描述过。在单个分区中,BigQuery使用introsort,根据ORDERBY子句中的列的类型和数量,使用一些技巧。例如,如果您有一个名为x
的INT64
列,并且运行以下形式的查询:
SELECT x
FROM dataset.table
ORDER BY x
BigQuery将把所有的x
值加载到一个向量中,然后对它们进行排序并返回。但是,如果在选择列表或ORDERBY子句中有多个列,那么就不那么简单了。