Re: Зацените т
От | Andrey N. Oktyabrski |
---|---|
Тема | Re: Зацените т |
Дата | |
Msg-id | 44B0B37F.6020606@antora.ru обсуждение исходный текст |
Ответы |
RE: [pgsql-ru-general] Зацените типчик
|
Список | pgsql-ru-general |
Ilia Kantor wrote: >>> ГИСТ-индексы в простейшем случае создаются без функции, которая >>> подсчитывает селективность, с заглушкой - типа всегда 1% от таблицы. >> Что это за функция? Где можно взять пример? Как её подключить - есть >> штатные средства, или постгрес хачить? Если второе, скорее всего не >> возьмусь, ибо дело неблагодарное. > > Функции гистовые, см. например, гист для int[] и селективность какую-нить > готовую (selectivity). Нет, я хотел узнать, грубо выражаясь, имя этой функции. Потому что реализовал вроде всё что надо для индекса (согласно этой статье: http://www.sai.msu.su/~megera/postgres/talks/gist_tutorial.html) - ан нет, "если всё идёт хорошо, значит вы чего-то не заметили" (с). Мне нужна какая-то отправная точка - где эти вещи хорошо описаны и ключевые слова для поиска примеров в исходниках. Чтобы слишком много простых и глупых вопросов не задавать. >>>>> Однако, как внедрить ее в VACUUM/ANALYZE - неясно, а разработчикам на >>>>> сие накакать, видимо (никто не помог). >> Может, просто не было предусмотрено такое в постгресе? > > Я написал селективность, придумал и реализовал необходимую статистику как > CUSTOM, и сделал PHP-скрипт для ее сбора ;) Мог бы и С-функцию, здесь все > прозрачно. Да там вроде Си никакого выигрыша и не даст, насколько я увидел. > В общем-то, все работало нормально, если после каждого сбора статов ANALYZE > вызывать свой собственный сборщик. > > Добавить в postgres мне это не удалось, т.к int[] является встроенным типом > и я не могу подвесить мой сборщик, нужно модифицировать встроенный. Стало быть, с полностью своим типом это должно быть гораздо проще? > Присылаю тебе то, что успел натворить, в аттаче (см intarray патченный и > stats.php). Спасибо, попробую поизучать. Правда, могу и отложить на неопределённое время, потому как с первого июля я трижды папулька и свободного времени как-то сразу поуменьшилось :-)
В списке pgsql-ru-general по дате отправления: