OceanBase SORT

SORT 算子用于对输入的数据进行排序。

示例:对 t1 表的数据排序,并按照 c1 列降序排列和 c2 列升序排列

obclient>CREATE TABLE t1(c1 INT, c2 INT);
Query OK, 0 rows affected (0.12 sec)

obclient>CREATE TABLE t2(c1 INT, c2 INT);
Query OK, 0 rows affected (0.12 sec)

obclient>EXPLAIN SELECT c1 FROM t1 ORDER BY c1 DESC, c2 ASCG;
*************************** 1. row ***************************
Query Plan: 
====================================
|ID|OPERATOR   |NAME|EST. ROWS|COST|
------------------------------------
|0 |SORT       |    |3        |40  |
|1 | TABLE SCAN|t1  |3        |37  |
====================================
Outputs & filters: 
-------------------------------------
  0 - output([t1.c1]), filter(nil), sort_keys([t1.c1, DESC], [t1.c2, ASC])
  1 - output([t1.c1], [t1.c2]), filter(nil), 
      access([t1.c1], [t1.c2]), partitions(p0)

上述示例中,执行计划展示中 0 号算子 SORT 对 t1 表的数据进行排序,执行计划展示中的 outputs & filters 详细展示了 SORT 算子的输出信息如下:

信息名称

含义

output

该算子的输出列。

filter

该算子的过滤谓词。

由于示例中 SORT 算子没有设置 filter,所以为 nil。

sort_keys([column, DESC],[column, ASC] …)

按 column 列排序。

  • DESC:降序。

  • ASC:升序。

例如,sort_keys([t1.c1, DESC],[t1.c2, ASC])中指定排序键分别为 c1 和 c2,并且以 c1 列降序, c2 列升序排列。

作者:andy,如若转载,请注明出处:https://www.web176.com/oceanbase/26156.html

(0)
打赏 支付宝 支付宝 微信 微信
andy的头像andy
上一篇 2023年10月14日
下一篇 2023年10月14日

相关推荐

发表回复

登录后才能评论