Good Optimization - Mailing list pgsql-sql

From secret
Subject Good Optimization
Date
Msg-id 37836A99.6989795E@kearneydev.com
Whole thread Raw
Responses Re: [SQL] Good Optimization  ("Roderick A. Anderson" <raanders@altoplanos.net>)
Re: [SQL] Good Optimization  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: [SQL] Good Optimization  (wieck@debis.com (Jan Wieck))
List pgsql-sql
   There is a simple way to optimize SQL queries involving joins to
PostgreSQL that I think should be handled by Postgre?  If one is joining
a tables a,b on attribute "x" and if one has something like x=3 then it
helps A LOT to say: a.x=3 and b.x=3 in addition to saying a.x=b.x ...
The example below shoulds the radical speed gain of doing this, and I
think it isn't something real obvious to most people...
   Of course it could just be a common thing to do in SQL, anyway, just
thought I'd let you all know what I discovered.



Here is an example:

ftc=> explain select * from po,tickets where po_id=material_po and
po_id=8888 ;
NOTICE:  QUERY PLAN:

Nested Loop  (cost=401.34 size=6146 width=158) ->  Index Scan using ipo_po_id_units on po  (cost=2.05 size=2
width=94) ->  Index Scan using itickets_mpou on tickets  (cost=199.64 size=70650
width=6
4)

EXPLAIN
ftc=>

ftc=> explain select * from po,tickets where po_id=material_po and
po_id=8888 an
d material_po=8888;
NOTICE:  QUERY PLAN:

Nested Loop  (cost=21.42 size=268 width=158) ->  Index Scan using ipo_po_id_units on po  (cost=2.05 size=2
width=94) ->  Index Scan using itickets_material_po on tickets  (cost=9.68
size=3073 wid
th=64)

EXPLAIN
ftc=>



pgsql-sql by date:

Previous
From: "John Ridout"
Date:
Subject: RE: [SQL] RETURN VALUES ON INTEGERS
Next
From: "Roderick A. Anderson"
Date:
Subject: Re: [SQL] Good Optimization