fhg
Volume 9, Number 3 -- January 21, 2009

Redundant Join Criteria: Good or Bad Idea?

Published: January 21, 2009

Hey, Ted:

Suppose I have four tables that I commonly join. Is there any benefit to adding redundant criteria to the join? Or to the "where" clause? That is, will redundant criteria or selection expressions improve performance?

--Philip


Philip's four tables are keyed as follows:

SITE     ITEM      PROCESS   STRUCTURE
------   ------    --------  ---------
SiteID   SiteID    SiteID    SiteID
         ItemID    ItemID    ItemID
         Revision  Revision  Revision
                             StructID

Here's a join without redundant join criteria:

select whatever
from site as s
join item as i 
  on s.siteid = i.siteid
join process as p
  on i.siteid = p.siteid
 and i.itemid = p.itemid
 and i.rev    = p.rev
join structure as st
  on p.siteid = st.siteid
 and p.itemid = st.itemid
 and p.rev    = st.rev

Site joins to item, item joins to process, process joins to structure.

Here's the same join with redundant join criteria (in red).

select whatever
from site as s
join item as i 
  on s.siteid = i.siteid
join process as p
  on s.siteid = p.siteid
 and i.siteid = p.siteid
 and i.itemid = p.itemid
 and i.rev    = p.rev
join structure as st
  on s.siteid = st.siteid
 and i.siteid = st.siteid
 and i.itemid = st.itemid
 and i.rev    = st.rev
 and p.siteid = st.siteid
 and p.itemid = st.itemid
 and p.rev    = st.rev

The same joins are defined as before, but there are additional joins from site to process, from site to structure, and from item to structure.

Here's a similar query, with redundant record selection expressions (in red).

select whatever
  from item as i 
  join process as p
    on i.siteid = p.siteid
   and i.itemid = p.itemid
   and i.rev    = p.rev
  join structure as st
    on p.siteid = st.siteid
   and p.itemid = st.itemid
   and p.rev    = st.rev
 where i.itemid = 'ABC123'
   and p.itemid = 'ABC123'
   and st.itemid = 'ABC123'

Whereas selecting the itemID from the item table is sufficient for selecting the desired data set, the query also selects the same item from the process and structure tables.

I didn't know the answer to Philip's questions, so I directed them to Dan Cruikshank of IBM, who was kind enough to respond. According to him, both the Classic Query Engine (CQE) and the SQL Query Engine (SQL) generate selection predicates over join columns, so the answer to the second question, regarding redundant record selection expressions, is no. The optimizers will generate the where predicates in red.

The answer to the first question depends on the optimizer. The SQE optimizer understands transitive closure. That is, it knows that if A equals B and B equals C, then A equals C. The SQE will add join predicates as part of the greedy join process for inner joins. The SQE optimizer does add the join predicates shown in red above. I infer that redundant join criteria may help with queries that the CQE processes.

--Ted




                     Post this story to del.icio.us
               Post this story to Digg
    Post this story to Slashdot


Sponsored By
HELP/SYSTEMS

Robot/CONSOLE®--Message, Resource, and
Log Management for the IBM® System i®

 

                                        · Simplify message and resource management
                                        · Increase your operations efficiency
                                        · Reduce missed messages and errors
                                        · React to issues quickly; resolve problems faster
                                        · Save time, money, and effort
                                        · Enjoy life more!

 

Request your FREE Robot/CONSOLE Information Kit today!


Senior Technical Editor: Ted Holt
Technical Editor: Joe Hertvik
Contributing Technical Editors: Edwin Earley, Brian Kelly, Michael Sansoterra
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

ARCAD Software:  FREE Webinar, ITIL Best Practices with Philippe Magne, January 28
COMMON:  Join us at the 2009 annual meeting and expo, April 26-30, Reno, Nevada
System i Developer:  RPG & DB2 Summit in Orlando, April 15-17 for 3 days of serious training


 

IT Jungle Store Top Book Picks

Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
Getting Started with PHP for i5/OS: List Price, $59.95
The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
The System i Pocket RPG & RPG IV Guide: List Price, $69.95
The iSeries Pocket Database Guide: List Price, $59.00
The iSeries Pocket Developers' Guide: List Price, $59.00
The iSeries Pocket SQL Guide: List Price, $59.00
The iSeries Pocket Query Guide: List Price, $49.00
The iSeries Pocket WebFacing Primer: List Price, $39.00
Migrating to WebSphere Express for iSeries: List Price, $49.00
iSeries Express Web Implementer's Guide: List Price, $59.00
Getting Started with WebSphere Development Studio for iSeries: List Price, $79.95
Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
Getting Started with WebSphere Express for iSeries: List Price, $49.00
WebFacing Application Design and Development Guide: List Price, $55.00
Can the AS/400 Survive IBM?: List Price, $49.00
The All-Everything Machine: List Price, $29.95
Chip Wars: List Price, $29.95


 
The Four Hundred
AS/400 LUG: Friends in High Places

Global 2009 IT Spending Will be Up, Down, Forrester Says

IBM Piles on the Patents, Promises to Publish Plenty

As I See It: Test of Character

IBM Helps Partners Sell Software to Midrange Shops

Four Hundred Stuff
Jobscope's Customer Focus is Made-to-Order

What's Next from IBM Lotus?

Infor Shows Flexibility as Reseller Channel Evolves

i OS Jobs Spawn Anew with Halcyon's Updated Scheduler

*noMAX Supports i OS Disk Encryption for HA

Four Hundred Monitor
Four Hundred Monitor's
Full iSeries Events Calendar

System i PTF Guide
January 17, 2009: Volume 11, Number 3

January 10, 2009: Volume 11, Number 2

January 3, 2009: Volume 11, Number 1

December 27, 2008: Volume 10, Number 52

December 20, 2008: Volume 10, Number 51

December 13, 2008: Volume 10, Number 50

TPM at The Register
ToutVirtual goes agnostic on virtualization management

IBM reaches out to SAP, RIM with Notes

IBM helps partners punt software to midrange shops

US stimulus bill smiles on IT

'Miracle' plane crash was no miracle

Sun touts ESX, Hyper-V virtualization on Galaxy boxes

HP gooses virtualization for servers

Ruby, COBOL jump on Amazon cloud

Rackable admits Q4 sales plummet

Big Blue tops US patent grubber list

Forrester crystal ball conjures 2009 IT spending shrinkage

Meltdown burns electronic design sales

Intel prepping chip price cuts?

New York judge OKs Amazon Tax

THIS ISSUE SPONSORED BY:

Help/Systems
WorksRight Software
System i Developer


Printer Friendly Version


TABLE OF CONTENTS
Redundant Join Criteria: Good or Bad Idea?

Do Your File Specifications Lie?

Trouble-Shooting WebSM to HMC Connectivity Problems

Four Hundred Guru

BACK ISSUES

From the IT Jungle Forums
Insert via Java

iSeries Access for Web

Mimix installation and configuration docs

EDI Inovis Programmer - Heavy Duty Problem Solver - Anytime

Data Queues vs. MQ Series: Performance

Removing blanks from a CL Variable

XML




 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2009 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement