| From: | sophie yang <yangsophie(at)yahoo(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-novice(at)postgresql(dot)org | 
| Subject: | Re: algebraic rewriting | 
| Date: | 2002-04-20 01:59:50 | 
| Message-ID: | 20020420015950.85083.qmail@web10501.mail.yahoo.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-novice | 
What I mean about "algebraic rewriting" is some
rule-based simplification optimization. For example, 
Say we have two relations: R(A, B), S(B, C). 
Simplification rules include:
1) R join R = R
2) R - R = NULL
3) NULL join R = NULL
4) SELECT[A=a](R join S) = (SELECT[A=a](R)) join S
   e.g.
   (select * from R, S where R.B=S.B and R.A=a) =>
   (select * from R, S where R.A=a and R.B=S.B)
5) PROJECT[A,B](R JOIN S) = R JOIN (PROJECT[B](S))
6) PROJECT[A](PROJECT[A,B](R)) = PROJECT[A](R)
etc.
I am wondering if progreSQL does such simplification
to prune the plan space before estimate costs?
Sophie Yang
--- Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> sophie yang <yangsophie(at)yahoo(dot)com> writes:
> > rewriter, optimizer and executor. I am wondering
> at
> > which step, PostgreSQL performs algebraic
> rewriting?
> 
> What do you consider "algebraic rewriting"?  The
> optimizer does a pass of
> constant-subexpression simplification, and also some
> boolean-expression
> normalization, but I'm not sure if that's what
> you're looking for.
> 
> 			regards, tom lane
> 
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
> http://www.postgresql.org/users-lounge/docs/faq.html
__________________________________________________
Do You Yahoo!?
Yahoo! Games - play chess, backgammon, pool and more
http://games.yahoo.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | pinkrain . | 2002-04-20 03:00:11 | Right-justification of column results | 
| Previous Message | Tom Lane | 2002-04-19 23:31:40 | Re: updateble views |