Alvaro Herrera wrote:
Christian Schröder wrote:
I think it is my job as db admin to make the database work the way my users
need it, and not the user's job to find a solution that fits the database's
needs ...
Is there really nothing that I can do?
You can improve the selectivity estimator function. One idea is that if
you are storing something that's not really a general character string,
develop a specific datatype, with a more precise selectivity estimator.
If you are you up to coding in C, that is.
Hm, that sounds interesting! I will definitely give it a try.
Will that also solve the problem of combining more than one of these
conditions? As far as I can see, the main issue at the moment is that we
often have "... where test like '11%' and test not like '113%'" in our
queries. Even if the selectivity estimation of the single condition will
be improved, it will still be wrong to multiply the selectivities.
I think I will have a look at the src/backend/optimizer/util/plancat.c,
src/backend/optimizer/path/clausesel.c and
src/backend/utils/adt/selfuncs.c files after my holiday.
Kind regards,
Christian
--
Deriva GmbH Tel.: +49 551 489500-42
Financial IT and Consulting Fax: +49 551 489500-91
Hans-Böckler-Straße 2 http://www.deriva.de
D-37079 Göttingen
Deriva CA Certificate: http://www.deriva.de/deriva-ca.cer
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster