更新时间:2025-05-29 GMT+08:00

Limit

算子说明

Limit算子限定了执行结果的输出记录数。如果增加了Limit算子,那么不是所有的行都会被检索到。

典型场景

使用带有Limit关键字的查询语句。

示例

示例:使用带有limit关键字的查询语句。

--数据准备。 
gaussdb=# DROP TABLE IF EXISTS t1;
gaussdb=# CREATE TABLE t1 ( id int, number int);
CREATE TABLE 
gaussdb=# INSERT INTO t1 VALUES (generate_series(1,50), 1);
INSERT 0 50
gaussdb=# EXPLAIN SELECT * FROM t1 LIMIT 10 OFFSET 20;
                              QUERY PLAN
----------------------------------------------------------------------
 Limit  (cost=11.23..15.89 rows=9 width=8)
   ->  Streaming (type: GATHER)  (cost=0.88..15.89 rows=9 width=8)
         Node/s: All datanodes
         ->  Limit  (cost=0.00..14.14 rows=29 width=8)
               ->  Seq Scan on t1  (cost=0.00..14.14 rows=29 width=8)
(5 rows)

--删除。
gaussdb=# DROP TABLE t1;

上述示例中,Lmit算子输出信息如下所示。

信息名称

含义

Limit

算子的名称。

Seq Scan

算子的名称。表示对t1表进行顺序扫描。