Limit-k 通常会跟排序语句(order by)一起使用来获取 Top-k 行。当 order by 和 Limit 一起出现的时候,取决于代价模型,order by 算子可能会被转化成 top-k sort 排序。

    OceanBase 中的 Limit-k 语句在一些特定的情况下会被直接下压到存储层。

    Limit-k 语句的性能在很多情况下取决于数据分布,假设 t1 中有 100w 行数据,满足 b=1 的行数有 1w 行(如果满足 b=1的不到100行,那么查询需要全表扫描才能找到所有数据),那么下面这个查询的性能有如下两个极端情况: