Limit

名称

限制算子

介绍

Limit算子用于限制产生结果集的大小,在数据库中用于实现LIMIT和OFFSET操作,当LIMIT与ORDER BY语句同时使用且没有OFFSET语句时会将Limit和 Sort 算子合并成 LimitSort 算子。

举例

--清理环境
DROP TABLE t1 CASCADE;

--创建环境
CREATE TABLE t1(a int);
INSERT INTO t1 SELECT generate_series(1,10);

ANALYZE t1;

EXPLAIN ANALYZE SELECT * FROM t1 ORDER BY a LIMIT 5 OFFSET 3;
                                               QUERY PLAN
--------------------------------------------------------------------------------------------------------
 Limit  (cost=7.27..7.29 rows=5 width=4) (actual time=0.05..0.05 rows=5 loops=1)
   ->  Sort  (cost=7.27..7.29 rows=10 width=4) (actual time=0.05..0.05 rows=8 loops=1)
         Sort Key: A
         ->  Seq Scan on T1  (cost=0.00..7.10 rows=10 width=4) (actual time=0.02..0.03 rows=10 loops=1)
 Planning Time: 0.11 msec
 Execution Time: 0.11 msec
(6 rows)