Search Postgresql Archives

Re: Are projected queries optimized like nonprojected ones

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

 



am  Thu, dem 16.10.2008, um 14:43:42 +0300 mailte Andrus folgendes:
> I'm looking a hint for new application dynamic query builder creation for 
> PostgreSQL 8.0+
> 
> Following two queries return same results:
> 
> SELECT ...
> FROM t1 JOIN t2 USING (cx)
> LEFT JOIN t3 USING (cy)
> LEFT JOIN t4 USING (cz)
> WHERE ...
> 
> and
> 
> SELECT ...
> FROM (SELECT * FROM t1 JOIN t2 USING (cx) LEFT JOIN t3 USING (cy) WHERE 
> ... ) p1
> LEFT JOIN t4 USING (cz)
> WHERE ...
> 
> Second query is easier to generate but contains two where clauses which 
> produce logically same resultset and in first query.
> So it is preferable to use second form. However I'm not clear how this 
> affects query perfomance.
> 
> Questions:
> 
> Will execution speed of both queries be the same ?
> Will 8.0+ optimizers create same execution plan for those queries ?

You can check this with EXPLAIN ANALYSE <your_query>. I'm guessing it
depends on the PG-Version, recent versions are smarter.


Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux