On 2008-09-11 17:21, Jack Orenstein wrote:
> The id > last_id trick doesn't work for me -- I don't have an index that would
> support it efficiently.
You do not have a primary key? If you do then you have an index as it is
automatically created.
Watch this:
test=> create temporary table test ( id int primary key, data text );
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"test_pkey" for table "test"
CREATE TABLE
test=> insert into test (select i, 'this is a row number '||i::text from
(select generate_series(1,1000000) as i) as q);
INSERT 0 1000000
test=> explain analyze select * from test where id>500000
order by id limit 1;
QUERY PLAN
Limit (cost=0.00..0.07 rows=1 width=36)
(actual time=0.150..0.151 rows=1 loops=1)
-> Index Scan using test_pkey on test
(cost=0.00..23769.63 rows=322248 width=36)
(actual time=0.148..0.148 rows=1 loops=1)
Index Cond: (id > 500000)
Total runtime: 0.191 ms
(4 rows)
Regards
Tometzky
--
...although Eating Honey was a very good thing to do, there was a
moment just before you began to eat it which was better than when you
were...
Winnie the Pooh