Good Optimization

From: secret <secret(at)kearneydev(dot)com>
To: PG-SQL <pgsql-sql(at)postgresql(dot)org>, John Ridout <johnridout(at)ctasystems(dot)co(dot)uk>
Subject: Good Optimization
Date: 1999-07-07 14:56:26
Message-ID: 37836A99.6989795E@kearneydev.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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=>

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Roderick A. Anderson 1999-07-07 15:22:31 Re: [SQL] Good Optimization
Previous Message John Ridout 1999-07-07 14:36:15 RE: [SQL] RETURN VALUES ON INTEGERS