[Monetdb-developers] about MAL optimize

Stefan Manegold Stefan.Manegold at cwi.nl
Wed Aug 11 11:04:38 CEST 2010


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 at 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 at 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 at 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 at 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 at lists.sourceforge.net
> > > > > https://lists.sourceforge.net/lists/listinfo/monetdb-developers
> > > >
> > > >
> > > > --
> > > > | Dr. Stefan Manegold | mailto:Stefan.Manegold at 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 at 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 at 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       |




More information about the developers-list mailing list