powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / агрегация в bytea
3 сообщений из 3, страница 1 из 1
агрегация в bytea
    #38952301
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нашёл встроенной функции, которая смогла бы агрегировать например набор целых чисел в бинарный шматок. (Зачем надо, вопрос отдельный, вкратце - тотальная оптимизация обмена К-С). Написал свою, но, возможно, есть лучшее решение в плане быстродействия?
...
Рейтинг: 0 / 0
агрегация в bytea
    #38952328
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_avzНе нашёл встроенной функции, которая смогла бы агрегировать например набор целых чисел в бинарный шматок. (Зачем надо, вопрос отдельный, вкратце - тотальная оптимизация обмена К-С). Написал свою, но, возможно, есть лучшее решение в плане быстродействия?

Прежде чем начинать это делать надо
1)понять ваш клиент по какому протоколу работает с базой (текстовому или бинарному)

Если по текстовому то учитывая что в bytea с хорошими шансами каждый байт bytea передается в протоколе текстом вида \\xxx (т.е. 5ть байтами) то вы вряд ли на этом получите какой то разумный выйгрыш на старых версиях базы. На новых версиях базы можно попробовать bytea_output=escape и тогда каждый байт будет всего 2мя байтами передаваться, что тоже не думаю что вас порадует. Такие вещи стоит тестировать перед тем как начинать делать.

В случае бинарного протокола как там передается bytea между клиентом и сервером вопрос открытый.
Скорее всего заметного выйгрыша вы не пролучите.

PS: для передачи набора чисел есть массивы.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
агрегация в bytea
    #38952355
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukПрежде чем начинать это делать надо
1)понять ваш клиент по какому протоколу работает с базой (текстовому или бинарному) клиент на Delphi, компоненты pgDAC.Maxim BogukЕсли по текстовому то учитывая что в bytea с хорошими шансами каждый байт bytea передается в протоколе текстом вида \\xxx (т.е. 5ть байтами) то вы вряд ли на этом получите какой то разумный выйгрыш на старых версиях базы. На новых версиях базы можно попробовать bytea_output=escape и тогда каждый байт будет всего 2мя байтами передаваться, что тоже не думаю что вас порадует. Такие вещи стоит тестировать перед тем как начинать делать.
В случае бинарного протокола как там передается bytea между клиентом и сервером вопрос открытый.
Скорее всего заметного выйгрыша вы не пролучите. СпасибоMaxim BogukPS: для передачи набора чисел есть массивы.Сейчас на них и работает. Однако компоненты pgDAC интерпретируют массивы как текстовый тип (ftMemo) и приходится на клиенте парсить строки из тысяч элементов, здесь-то и требуется максимальное быстродействие. Из бинарного куска оптимальней числа вычитывать было б.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / агрегация в bytea
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]