It's been a while since I've done much SQL.. 

. I'm wondering which of these two queries is faster (both get the
same result)?

. Which one is more correct?  Does it even matter or are they the
same?  The first one reads easier to me.

. What's the difference between "InitPlan" and "SubPlan"?

explain SELECT eqid,
   (select name from tbleqattrtypes where id=
      (select eqattrtypeid from tbleqattrs
      where id=main.eqattrid))
 as attrtype, eqattrid from tbleqattrmap as main;

NOTICE:  QUERY PLAN:
Seq Scan on tbleqattrmap main  (cost=0.00..1.15 rows=15 width=8)
  SubPlan
    ->  Seq Scan on tbleqattrtypes  (cost=0.00..1.04 rows=1 width=12)
          InitPlan
            ->  Seq Scan on tbleqattrs  (cost=0.00..1.09 rows=1 width=4)


explain SELECT eqid, 
   (select 
      (select name from tbleqattrtypes where id=sec.eqattrtypeid) 
   from tbleqattrs as sec where id=main.eqattrid)
 as attrtype, eqattrid from tbleqattrmap as main;                                   

NOTICE:  QUERY PLAN:
Seq Scan on tbleqattrmap main  (cost=0.00..1.15 rows=15 width=8)
  SubPlan
    ->  Seq Scan on tbleqattrs sec  (cost=0.00..1.09 rows=1 width=4)
          SubPlan
            ->  Seq Scan on tbleqattrtypes  (cost=0.00..1.04 rows=1 width=12)

One additional detail:  right now the tables are all very small, and
tbleqattrtypes will not grow much, but tbleqattrs will eventually be
very large.

Thanks, and sorry for bothering you all..
- Cedar


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to