Re: Removing Functionally Dependent GROUP BY Columns

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Removing Functionally Dependent GROUP BY Columns
Дата
Msg-id 15746.1453563560@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Removing Functionally Dependent GROUP BY Columns  (Julien Rouhaud <julien.rouhaud@dalibo.com>)
Список pgsql-hackers
Julien Rouhaud <julien.rouhaud@dalibo.com> writes:
> I wonder if in remove_useless_groupby_columns(), in the foreach loop you
> could change the

> +       if (bms_subset_compare(pkattnos, relattnos) == BMS_SUBSET1)
> +       {

> by something like

> +       if (bms_num_members(relattnos) <= bms_num_members(pkattnos))
> +           continue;
> +
> +       if (bms_is_subset(pkattnos, relattnos))
> +       {

> which may be cheaper.

FWIW, I really doubt that would be cheaper.  The various flavors of
subset comparison are word-at-a-time bitmasking operations, but
bms_num_members has to grovel over individual bits; it's certain to
be more expensive than a subset test.
        regards, tom lane



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: proposal: function parse_ident
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Proposal: Trigonometric functions in degrees