Re: using CURSOR with PHP

From: Marco Colombo <marco(at)esi(dot)it>
To: Andrew McMillan <andrew(at)catalyst(dot)net(dot)nz>
Cc: Postgres-PHP <pgsql-php(at)postgresql(dot)org>
Subject: Re: using CURSOR with PHP
Date: 2002-05-28 15:37:29
Message-ID: Pine.LNX.4.44.0205281732550.24472-100000@Megathlon.ESI
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

On 19 May 2002, Andrew McMillan wrote:

> On Sun, 2002-05-19 at 13:07, Keary Suska wrote:
> >
> > > For more complex queries, however, the plans are less likely to differ
> > >
> > Actually, as you can see with my examples above, the reverse is true, as the
> > simple query produced the same plan. The more complex the query, the more
> > choices the optimizer has for picking the best case, which unfortunately is
> > not always the truly best case.
>
> No, I meant _complex_ plans:
>
> pcno=# explain select * from vwmbradr where centre_id = 56;
> NOTICE: QUERY PLAN:
>
> Subquery Scan vwmbradr (cost=636.68..636.68 rows=1 width=418)
> -> Sort (cost=636.68..636.68 rows=1 width=418)
> -> Nested Loop (cost=0.00..636.67 rows=1 width=418)
> -> Nested Loop (cost=0.00..630.67 rows=1 width=340)
> -> Nested Loop (cost=0.00..624.68 rows=1
> width=254)
> -> Index Scan using primary_centre_id_index
> on constituents (cost=0.00..622.35 rows=1 width=212)
> -> Seq Scan on centres (cost=0.00..1.59
> rows=59 width=42)
> -> Index Scan using constituents_pkey on
> constituents (cost=0.00..5.98 rows=1 width=86)
> -> Index Scan using constituents_pkey on constituents
> (cost=0.00..5.98 rows=1 width=78)
>
> EXPLAIN
> pcno=# explain select * from vwmbradr where centre_id = 56 limit 1;
> NOTICE: QUERY PLAN:
>
> Limit (cost=636.68..636.68 rows=1 width=418)
> -> Subquery Scan vwmbradr (cost=636.68..636.68 rows=1 width=418)
> -> Sort (cost=636.68..636.68 rows=1 width=418)
> -> Nested Loop (cost=0.00..636.67 rows=1 width=418)
> -> Nested Loop (cost=0.00..630.67 rows=1
> width=340)
> -> Nested Loop (cost=0.00..624.68 rows=1
> width=254)
> -> Index Scan using
> primary_centre_id_index on constituents (cost=0.00..622.35 rows=1
> width=212)
> -> Seq Scan on centres
> (cost=0.00..1.59 rows=59 width=42)
> -> Index Scan using constituents_pkey on
> constituents (cost=0.00..5.98 rows=1 width=86)
> -> Index Scan using constituents_pkey on
> constituents (cost=0.00..5.98 rows=1 width=78)
>
> EXPLAIN
>
>
> :-)

Remove the 'where centre_id = 56' clause, please, and post output.
I'm curious. In you example I guess both select return one single row...
It's rows=1 almost everywhere - it means no cost for many operations.

.TM.
--
____/ ____/ /
/ / / Marco Colombo
___/ ___ / / Technical Manager
/ / / ESI s.r.l.
_____/ _____/ _/ Colombo(at)ESI(dot)it

In response to

Browse pgsql-php by date

  From Date Subject
Next Message Eckhard Hoeffner 2002-05-28 16:16:03 Re: using CURSOR with PHP
Previous Message Marco Colombo 2002-05-28 15:32:02 Re: using CURSOR with PHP