Re: please help with the explain analyze plan

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

 



hurray!
ANALYZING changed the plan

I was not expecting the plan to change because
the partition of 2006_02 is supposed to be
dormant. maybe the partition was never analyzed.

But still question remains, why the time taken was
in orders of magnitude higher in loaded condition.



tradein_clients=> explain   SELECT count(*) from
rfi_partitions.rfis_part_2006_02 where  generated_date >= 2251 and
receiver_uid=1320721 ;
                                                   QUERY PLAN
----------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=6.44..6.45 rows=1 width=0)
   ->  Index Scan using rfis_part_2006_02_generated_date on
rfis_part_2006_02  (cost=0.00..6.43 rows=1 width=0)
         Index Cond: (generated_date >= 2251)
         Filter: (receiver_uid = 1320721)
(4 rows)
tradein_clients=> ANALYZE rfi_partitions.rfis_part_2006_02;
ANALYZE
tradein_clients=> explain   SELECT count(*) from
rfi_partitions.rfis_part_2006_02 where  generated_date >= 2251 and
receiver_uid=1320721 ;
                                                  QUERY PLAN
--------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=8.78..8.79 rows=1 width=0)
   ->  Index Scan using rfis_part_2006_02_receiver_uid on
rfis_part_2006_02  (cost=0.00..8.77 rows=1 width=0)
         Index Cond: (receiver_uid = 1320721)
         Filter: (generated_date >= 2251)
(4 rows)

tradein_clients=> explain analyze  SELECT count(*) from
rfi_partitions.rfis_part_2006_02 where  generated_date >= 2251 and
receiver_uid=1320721 ;

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=8.78..8.79 rows=1 width=0) (actual time=0.045..0.045
rows=1 loops=1)
   ->  Index Scan using rfis_part_2006_02_receiver_uid on
rfis_part_2006_02  (cost=0.00..8.77 rows=1 width=0) (actual
time=0.042..0.042 rows=0 loops=1)
         Index Cond: (receiver_uid = 1320721)
         Filter: (generated_date >= 2251)
 Total runtime: 0.082 ms
(5 rows)

tradein_clients=>

On Wed, Feb 11, 2009 at 6:07 PM, Rajesh Kumar Mallah
<mallah.rajesh@xxxxxxxxx> wrote:
> thanks for the hint,
>
> now the peak hour is over and the same scan is taking 71 ms in place of 80000 ms
> and the total query time is also acceptable. But it is surprising that
> the scan was
> taking so long consistently at that point of time. I shall test again
> under similar
> circumstance tomorrow.
>
> Is it possible to enable block level statistics from the psql prompt
> for a particular query
> and see the results on the psql prompt ?
>
> explain  analyze SELECT count(*) from
> rfi_partitions.rfis_part_2006_02 where  generated_date >= 2251 and
> receiver_uid=1320721 ;
>
>  QUERY PLAN
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>  Aggregate  (cost=6.44..6.45 rows=1 width=0) (actual
> time=71.513..71.513 rows=1 loops=1)
>   ->  Index Scan using rfis_part_2006_02_generated_date on
> rfis_part_2006_02  (cost=0.00..6.43 rows=1 width=0) (actual
> time=71.508..71.508 rows=0 loops=1)
>         Index Cond: (generated_date >= 2251)
>         Filter: (receiver_uid = 1320721)
>  Total runtime: 71.553 ms
> (5 rows)
>

-- 
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