Re: analyze.c

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: analyze.c
Дата
Msg-id 28154.967041988@sss.pgh.pa.us
обсуждение исходный текст
Ответ на analyze.c  (Tiago Antão <tra@fct.unl.pt>)
Ответы Re: analyze.c  (Tiago Antão <tra@fct.unl.pt>)
Список pgsql-hackers
Tiago Antão <tra@fct.unl.pt> writes:
>   About analyze.c:
>   If taken out vacuum, couldn't it be completly taken out of pg? Say,
> to an external program?

Not if you want to do anything useful with it --- direct access to the
database is only possible within the context of a backend, because of
all the locking, buffering, etc behavior that you must adhere to.

> What's the big reason not to do that? I know that
> there is some code in analyze.c (like comparing) that uses other parts of
> pg, but that seems to be easily fixed.

Are you proposing not to do any comparisons?  It will be interesting to
see how you can compute a histogram without any idea of equality or
ordering.  But if you want that, then you still need the function-call
manager as well as the type-specific comparison routines for every
datatype that you might be asked to operate on (don't forget
user-defined types here).

In short, I doubt you can build a useful analyze-engine that's
significantly smaller than a full backend.  Besides, having ANALYZE
available as a regular SQL command is just too useful to want to see
it moved out to some outside program that would have to be run
separately.

>   I'm leaning toward the implementation of end-biased histograms. There is
> an introductory reference in the IEEE Data Engineering Bulletin, september
> 1995 (available on microsoft research site).

Sounds interesting.  Can you give us an exact URL?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Optimisation deficiency: currval('seq')-->seq scan, constant-->index scan
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Problem with insert