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