On þri, 2008-07-15 at 08:19 +0200, Edoardo Panfili wrote: > Scott Marlowe ha scritto: > > On Mon, Jul 14, 2008 at 1:54 PM, Chris Hoy <chris.hoy@xxxxxxxxxxxxxxxx> wrote: > >> > >> select * from industries where industryid = 1; > >> "Seq Scan on industries (cost=0.00..1.02 rows=1 width=116) (actual > >> time=0.011..0.013 rows=1 loops=1)" > > > > According to this there's only one row in the table. why WOULD > > postgresql use an index when it can just scan the one row table in a > > split second. > > > I agree with you that it can depend on the size of the table but where > you can read that the table contains only one row? it does not really say 1 row, but you can infer from the estimated cost, that the table is only 1 block (cost=0.00..1.02). that is the smallest read unit. using an index would cost 2 random reads. > I try with my table (39910 rows, no index on column note) > explain analyze select * from table where note='single example'; > > Seq Scan on table (cost=0.00..2458.88 rows=13 width=327) (actual > time=10.901..481.896 rows=1 loops=1) surely this is not the same table gnari