Re: sub-select in IN clause results in sequential scan

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

 



Try replacing the 'current_timestamp - interval 8 days' portion with explicit values (e.g. partitioned_column < '2009-10-21'::date ) and see if that works.  I think the query planner can only use explicit values to determine if it should go straight to partitioned tables.

Bob

--- On Thu, 10/29/09, Anj Adu <fotographs@xxxxxxxxx> wrote:

> From: Anj Adu <fotographs@xxxxxxxxx>
> Subject: Re:  sub-select in IN clause results in sequential scan
> To: "Angayarkanni" <kangayarkanni@xxxxxxxxx>
> Cc: "Grzegorz Jaśkiewicz" <gryzman@xxxxxxxxx>, pgsql-performance@xxxxxxxxxxxxxx
> Date: Thursday, October 29, 2009, 10:10 AM
> Join did not help. A sequential scan
> is still being done. The
> hardcoded value in the IN clause performs the best. The
> time
> difference is more than an order of magnitude.
> 
> 2009/10/29 Angayarkanni <kangayarkanni@xxxxxxxxx>:
> >
> > 2009/10/29 Grzegorz Jaśkiewicz <gryzman@xxxxxxxxx>
> >>
> >>
> >> On Wed, Oct 28, 2009 at 6:13 PM, Anj Adu <fotographs@xxxxxxxxx>
> wrote:
> >>>
> >>> Postgres consistently does a sequential scan
> on the child partitions
> >>> for this query
> >>>
> >>> select * from partitioned_table
> >>> where partitioned_column >
> current_timestamp - interval 8 days
> >>> where x in (select yy from z where colname
> like 'aaa%')
> >>>
> >>> If I replace the query with
> >>>
> >>> select * from partitioned_table
> >>> where partitioned_column >
> current_timestamp - interval 8 days
> >>> where x in (hardcode_value)
> >>>
> >>> The results are in line with expectation (very
> fast and uses a Bitmap
> >>> Index Scan on the column X)
> >>> \
> >>
> >> use JOIN luke..
> >>
> >> --
> >> GJ
> >
> > Yes you try by using Join
> >
> > JAK
> >
> 
> -- 
> Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-performance
> 




-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux