pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Marcin Mirosław <marcin@mejor.pl>
To: pgsql-performance@postgresql.org
Subject: Re: partitioned table: differents plans, slow on some situations
Date: Fri, 30 Dec 2011 17:23:25 +0100
Message-ID: <4EFDE57D.6090303@mejor.pl> (raw)
In-Reply-To: <00842f17-90cb-4154-8be0-a49379514739@zimbra1.ovus.it>
References: <00842f17-90cb-4154-8be0-a49379514739@zimbra1.ovus.it>

W dniu 30.12.2011 17:01, Matteo Sgalaberni pisze:
> Hi,

Hello,

> I have a two tables that are partitioned by month.
> 
> I have different results for the same query (query A/query B), the only thing that differ from A and B is the customer id.

Not only:

> Query A:
> 
> SELECT sms.id AS id_sms
>                             
>                       FROM
>                        sms_messaggio AS sms,
>                        sms_messaggio_dlr AS dlr
>                       WHERE sms.id = dlr.id_sms_messaggio
>                         AND sms.timestamp_todeliver >= '1/3/2010'::timestamp
>                         AND sms.timestamp_todeliver < '30/4/2010'::timestamp
>                         AND dlr.timestamp_todeliver >= '1/3/2010'::timestamp
>                         AND dlr.timestamp_todeliver < '30/4/2010'::timestamp
>                          AND sms.id_cliente = '13'
>                       ORDER BY dlr.timestamp_todeliver DESC LIMIT 50;
                                                       ^^^^^^^

> Query B:
> EXPLAIN  ANALYZE SELECT sms.id AS id_sms,
>                              dlr.msisdn,
>                              to_char(dlr.timestamp_stato,'DD/MM/YYYY HH24:MI:SS') AS timestamp_stato,
>                              dlr.stato,
>                              dlr.id AS id_dlr,
>                              dlr.numero_pdu,
>                              dlr.costo_cli
>                       FROM
>                        sms_messaggio AS sms,
>                        sms_messaggio_dlr AS dlr
>                       WHERE sms.id = dlr.id_sms_messaggio
>                         AND sms.timestamp_todeliver >= '1/3/2010'::timestamp
>                         AND sms.timestamp_todeliver < '30/4/2010'::timestamp
>                         AND dlr.timestamp_todeliver >= '1/3/2010'::timestamp
>                         AND dlr.timestamp_todeliver < '30/4/2010'::timestamp
>                          AND sms.id_cliente = '7'
>                       ORDER BY dlr.timestamp_todeliver ASC LIMIT 50;
                                                        ^^^^^
> I'm using pg 9.1
> 
> Can someone explain me why the planner do this?

Those queries are diffrent.
Regards.




view thread (5+ messages)  latest in thread

Message-ID: <4EFDE57D.6090303@mejor.pl>
Permalink:  ../4EFDE57D.6090303@mejor.pl/
Also on:    postgresql.org/message-id/4EFDE57D.6090303@mejor.pl

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: marcin@mejor.pl
  Subject: Re: partitioned table: differents plans, slow on some situations
  In-Reply-To: <4EFDE57D.6090303@mejor.pl>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox