>
> >
> > T.
> >
> > --
> > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
> > Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
> > Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/916cdcb2-9635-fa12-7441-02d851bf3ab2%40fuzzy.cz.
--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7Qwoyz1XTUfkdntRkHo6UDXHfxdSmPBJL7hW7LjJMztKfRw%40mail.gmail.com.
> Pavel
>
>>
>>
>> >
>> > >
>> > > T.
>> > >
>> > > --
>> > > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
>> > > Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
>> > > Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/916cdcb2-9635-fa12-7441-02d851bf3ab2%40fuzzy.cz.
>>
>> --
>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
>> Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7Qwoyz1XTUfkdntRkHo6UDXHfxdSmPBJL7hW7LjJMztKfRw%40mail.gmail.com.
>
> --
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „PostgreSQL-cz“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRB-1zpOZ_PvyHZrqe0UdG4y_kd2aMsn6zsUT8okYBp1XA%40mail.gmail.com.
--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7Qwq9AAmmrr8_mBC0eC2y7B1jmTLEoqXpJ7g5bC7p2yxHrA%40mail.gmail.com.
T.
Pavel
T.
On 6/14/21 11:53 AM, David Turoň wrote:
> Ahoj,
>
> me by prislo u BRIN zajimave mit moznost ho vyuzit pri agregaci min/max
> ... kdyz clovek nahradi BTREE za BRIN tak pak prijde o moznost SELECT
> max(id) FROM t; s pouzitim indexu. Takhle by stacilo misto seq scanu
> projit ty interni struktury indexu a tam jsou minima a maxima pro
> jednotlivy rozsah stranek jesti se nepletu.
>
Jasně, to by bylo zajímavé, a možná by to ani nebylo úplně komplikované
naimplementovat. Takhle z hlavy mne napadají dvě věci které by bylo
potřeba vyřešit:
1) Ne každý BRIN index ukládá min/max - některé varianty ukládají např.
polygony (pro GIS data), nebo bloom filtry. Ale to by se dalo vyřešit
nějakým "flagem" v deskriptoru indexu.
2) Nestačí se dívat jenom na ty min/max, protože to nemusí být úplně
aktuální (např. po smazání řádku tam může být už neplatné min/max). Ale
pokud se by bloky seřadí podle (min), projdou se jednotlivé řádky a pak
se to zastaví když všechny další bloky mají "min" větší než to nalezené,
tak by to mělo fungovat.
Do velké míry by asi šlo okopírovat kód z btree indexů, přinejmenším ta
část z plánovače (což je často to nejsložitější).
T.
--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/872186e5-08ab-7da5-66db-07e2b9ea9b32%40gmail.com.
po 14. 6. 2021 v 15:00 odesílatel Tomas Vondra <tv.f...@gmail.com> napsal:
On 6/14/21 11:53 AM, David Turoň wrote:
> Ahoj,
>
> me by prislo u BRIN zajimave mit moznost ho vyuzit pri agregaci min/max
> ... kdyz clovek nahradi BTREE za BRIN tak pak prijde o moznost SELECT
> max(id) FROM t; s pouzitim indexu. Takhle by stacilo misto seq scanu
> projit ty interni struktury indexu a tam jsou minima a maxima pro
> jednotlivy rozsah stranek jesti se nepletu.
>
Jasně, to by bylo zajímavé, a možná by to ani nebylo úplně komplikované
naimplementovat. Takhle z hlavy mne napadají dvě věci které by bylo
potřeba vyřešit:
v podstate by to mohlo fungovat tak trochu jako sloupcovy engine :)
Pokud si vzpominam, tak ve strankach ve vertice se ukladalo taky min, max - a dala by se tam ulozit suma a pocet
Ale Vertica nemá tradiční indexy, a to min/max a další info je aktualizované apod.
To BRIN indexy nemají - když smažeš řádek ze stránky tak min/max se nepřepočítají. A to samé suma.
T.
T.
Teď se přes min/max vyfiltruje úsek tabulky jako obsahující
"potenciálně zajímavé" stránky, a pak se to projde řádek to řádku
a znovu se vyhodnotí ty podmínky. To u předpočítané sumy úplně
ztrácí smysl.