Thanks very much, you means the ideas and intension of MAL optimizers contain three parts: 1. programming language/compiler optimization 2. databose query optimization 3. some optimization only for column-oriented database but not for row-oriented database,such as mitosis,mergtable,dataflow etc Best regards!
2010/8/11 Stefan Manegold Stefan.Manegold@cwi.nl
The ideas / intension of some MAL optimizers, such as alias removal, dead code elimination, (to some extend) join ordering, etc. are generic and traditional, both in database query optimization and progarmming language / compiler optimization. The genral optimizer design and architecture combining (to some extend) both database query optimization and progarmming language / compiler optimization, as well as some of the optimizers (e.g., mitosis, mergtable, dataflow, etc.), and obviously the very implementation of all MAL optimizers, is very unique to MonetDB5/SQL and MAL.
Stefan
On Wed, Aug 11, 2010 at 04:38:01PM +0800, kun ren wrote:
Thanks,professor Stefan Manegold,when I use explain,I get the optimizer
MAL
plan. I have another question, so we know that many classic optimizer for row-oriented database,and can I say the MAL optimizer is unique for column-oriented database such as MonetDB? or some of MAL optimizer is
unique
for column-oriented? Best regards!
2010/8/11 Stefan Manegold Stefan.Manegold@cwi.nl
On Wed, Aug 11, 2010 at 04:23:42PM +0800, kun ren wrote:
I read sql_optimizer setting in monetdb5.conf ,and default setting
is:
sql_optimizer=default_pipe
default_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,garbageCollector,dataflow,history,multiplex
so there are many optimizer,but why when i debug MonetDB,and dump the
mal
of
my sql statement,but i can't find the optimizer mal ,and don't
enter
the
optimizer? like there are no optimizer,
if you prefix your SQL query with EXPLAIN to see the MAL plan, you get
the
optimizer MAL plan, i.e., all optimizers have already been called and
done
their work.
Stefan
2010/8/11 Stefan Manegold Stefan.Manegold@cwi.nl
Yes, if you write MAL "by hand" (or have some program create it)
that
does
explicitly call a MAL optimizer, that MAL optimizer is indeed used
to
optimize the MAL code according to its very purpose.
Stefan
On Wed, Aug 11, 2010 at 03:49:47PM +0800, kun ren wrote:
It is only used by SQL? and how to designation the optimiser?but
when
I
write MAL,for example, i:=0; b:= "done"; barrier go:= true; c:=i+1; d:="step"; v:=d; io.print(v); i:=c; redo go:= i<2; exit go; io.print(b); optimizer.aliasRemoval();
the last optimizer.aliasRemoval() is used for optimizing?
2010/8/11 Fabian Groffen Fabian.Groffen@cwi.nl
> On 11-08-2010 15:25:15 +0800, kun ren wrote: > > Recently,I am intersting in MAL optimize,and have read the
manual
of
> the > > MAL optimize, but it is so long, Possible if we want to use
mal
optimize
> ,we > > must degignation the optimize consideration, such as alias
removal,
> > constant expression,join path optimizer;And then I dedug the
MonetDB,but
> > default it don't use any optimize.so what do you think about
the
mal
> > optimize? > > It is only used when you use SQL. The sql_optimizer setting in > monetdb5.conf controls which optimisers are run, which by
default
are
> quite a few. > > >
> This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > Monetdb-developers mailing list > Monetdb-developers@lists.sourceforge.net >
https://lists.sourceforge.net/lists/listinfo/monetdb-developers
>
This SF.net email is sponsored by
Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev
Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4199 |
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4199 |
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4199 |