Re: WIP: explain analyze with 'rows' but not timing

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: WIP: explain analyze with 'rows' but not timing
Дата
Msg-id 4EF4CB23.7070601@fuzzy.cz
обсуждение исходный текст
Ответ на Re: WIP: explain analyze with 'rows' but not timing  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: WIP: explain analyze with 'rows' but not timing  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 23.12.2011 16:14, Tom Lane wrote:
> Tomas Vondra <tv@fuzzy.cz> writes:
>> One thing I'm wondering about is that the InstrumentOptions are not
>> exclusive - INSTRUMENT_TIMER means 'collect timing and row counts' while
>> INSTRUMENT_ROWS means 'collect row counts'. Wouldn't it be better to
>> redefine the INSTRUMENT_TIMER so that it collects just timing info. I.e.
>> to get the current behaviour, you'd have to do this
> 
>>    instrument_options |= (INSTRUMENT_TIMER | INSTRUMENT_ROWS)
> 
>> It's quite trivial change in explain.c, the problem I have with that is
>> that it might break extensions.
> 
> I'm not especially concerned by that angle --- we make bigger API
> changes all the time.  But you could change the name, eg
> 
>     instrument_options |= (INSTRUMENT_TIMING | INSTRUMENT_ROWS)
> 
> and then #define INSTRUMENT_TIMER as the OR of the two real bits
> for backward compatibility.

OK, that seems like a good solution. But is it worth the additional
complexity in explain.c?

The motivation for this patch was that collection timing data often
causes performance issues and in some cases it's not needed. But is this
true for row counts?

Are there machines where collecting row counts is above noise level?
I've never seen that, but that's not a proof of nonexistence.

If the overhead of this is negligible, then I could just hide the row
counts from the output.

Tomas


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Page Checksums + Double Writes
Следующее
От: Christopher Browne
Дата:
Сообщение: Re: Another hstore_type idea