thanks for answers

Luigi.

2014-10-25 15:46 GMT+02:00 Richard Hipp <d...@sqlite.org>:

> On Thu, Oct 23, 2014 at 11:55 AM, Luigi Iemma <iemmalu...@gmail.com>
> wrote:
>
> > Hi,
> >
> > SELECT TdoIdoc,RdoCart,RdoQuat
> >  FROM Tesdoc
> >  INNER JOIN Rigdoc ON RdoIdoc BETWEEN TdoIdoc*10000000 AND
> > TdoIdoc*10000000+9999999
> >  WHERE TdoTipo=60 AND TdoAnno BETWEEN 2014 AND 2014
> >  GROUP BY TdoIdoc
> >
> > When I run this query on 3.8.5 it takes 0.126 seconds,
> > when I run this query on 3.8.7 it takes 17.37 seconds
> >
>
> Version 3.8.7 (also version 3.8.6) is using a different query plan.
>
> Actually, 3.8.6 and 3.8.7 are making the better choice, based on the
> information at hand.  The query planner just doesn't have sufficient
> information to make a good choice in this case.  As Simon pointed out, you
> can run ANALYZE to give the query planner more information.  Or you can
> give it hints.  One possible hint is to add a "likelihood() function around
> the TdoTipo=60 constraint:
>
> SELECT TdoIdoc,RdoCart,RdoQuat
>  FROM Tesdoc, Rigdoc
> WHERE RdoIdoc BETWEEN TdoIdoc*10000000 AND TdoIdoc*10000000+9999999
>   AND likelihood(TdoTipo=60, 0.01)  ----<<< HERE
>   AND TdoAnno BETWEEN 2014 AND 2014
>  GROUP BY TdoIdoc;
>
>
>
> --
> D. Richard Hipp
> d...@sqlite.org
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to