cursor MOVE vs OFFSET in SELECT

From: silly8888 <silly8888(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: cursor MOVE vs OFFSET in SELECT
Date: 2009-10-26 10:30:50
Message-ID: 3c8f9f940910260330l36a07bcbgc11a1264c5dd6750@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Suppose that you have a query, say $sql_query, which is very
complicated and produces many rows. Which of the following is going to
be faser:

$sql_query OFFSET 3000 LIMIT 12;

or

BEGIN;
DECLARE cur1 CURSOR FOR $sql_query;
MOVE 3000 IN cur1;
FETCH 12 FROM cur1;
COMMIT;

Naturally, the former cannot be slower than the latter. So my question
essentially is whether the MOVE operation on a cursor is
(significantly) slower that a OFFSET on the SELECT.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Grzegorz Jaśkiewicz 2009-10-26 10:34:06 Re: cursor MOVE vs OFFSET in SELECT
Previous Message Hans-Michael Stahl 2009-10-26 10:30:22 Allowed types in embedded SQL, ecpg