Search Postgresql Archives

Re: ctid access is slow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 23 August 2005 08:39, Ilja Golshtein wrote:
> Hello!
>
> Could anybody help me with this [artificial] query
>
> select ctid from aaa where ctid in (select ctid from aaa limit 10);
>
> here is explained plan
>
>   Nested Loop IN Join  (cost=300000000.47..300325932.99 rows=10 width=6)
>   Join Filter: ("outer".ctid = "inner".ctid)
>   ->  Seq Scan on aaa  (cost=0.00..44457.98 rows=1250998 width=6)
>   ->  Materialize  (cost=0.47..0.57 rows=10 width=6)
>         ->  Subquery Scan "IN_subquery"  (cost=0.00..0.46 rows=10 width=6)
>               ->  Limit  (cost=0.00..0.36 rows=10 width=6)
>                     ->  Seq Scan on aaa  (cost=0.00..44457.98 rows=1250998
> width=6)
>
> There are 1250998 records in aaa.
>
> As you see it is pretty slow - actually this thing is faster
> even if I use oid instead of ctid.
> Inner query works promptly of course.
>
> Any clue?
>

I think using an indexed field would probably be faster for you, especially if 
you have a PK on the table.  Barring that, make sure you have 
vacuumed/analyzed and send us explain analyze output.

-- 
Robert Treat
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux