Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
можно ли в постгрессе написать многопоточный запрос? задача такая есть объекты учета есть записи в регистрах в принципе каждому объекту своя партия записей - и медъобъектные записи не зависимы (относительно) как пример хочется создать процедурку на встроенном языке, которая создает заданное количество записей в регистрах для каждого объекта и соотв кажется очевидно что это отдельные потоки реально реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2007, 17:57 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
GreyCardinalможно ли в постгрессе написать многопоточный запрос? задача такая есть объекты учета есть записи в регистрах в принципе каждому объекту своя партия записей - и медъобъектные записи не зависимы (относительно) как пример хочется создать процедурку на встроенном языке, которая создает заданное количество записей в регистрах для каждого объекта и соотв кажется очевидно что это отдельные потоки реально реализовать? Нет. Постгрес не поддерживает такую фичу. Можно порыться в контрибах на свой страх и риск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2007, 18:24 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
GreyCardinal...которая создает заданное количество записей в регистрах для каждого объекта ... потоки нет, как ут уже прозвучало..Но в постгрессе есь циклы, в которых каждый проход ядро вызывает последовательно само. В принцепе Вы можете делать кучу работы на каждом вызове из ядра, пока не скажите - усё... При этом клиент есесвенно будет ожидать... Насколько это хорошо или плохо - хз... с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 10:53 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
Поподробнее можно? пример есть тригер, котрый срабатывает на сохранение шапки документа -конкретно установка флага "провести" и он в цикле начинает проводить каждую строку документа в каждая строке - происходит вызов процедуры проведения строки и хочется чтобы он повызывал для каждой, дождался пока все они параллельно отработают, и в конце сделал окончательную обработочку (если все ок -то статус документа сменил и тп) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 13:39 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
Вас беспокоит производительность ? Или в чем смысл такого усложнения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 13:48 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
Да ну и эффективное использование сервера просто задача из нашей жизни -накладная с 400 позиций основных средств по каждому надо сделать как минимум 4 проводки, и данные до этого расчитать по каждой позиции независимо от других или другая - сальдо по контаргентам с суммами просрочек, пенями и тп тоже по каждому считается независимо, а запускает один человек (отчет) просто когда данных мало - это не критично а когда много и видишь что многопроцессорный(многоядерный) сервер загружен явно на 1 проц... (например у меня на двухядерном загрузка 45-47% ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 16:34 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
В принципе... можно но програмными средствами. По видимости надо открывать два конекта складывать данные в разные темповые таблицы а потом сливать... НО я думаю это достаточно сложновато я думаю заметно укорит использование Prepare и Execute. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 17:52 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
Через задницу возможно все - бесспорно. Но не забудем,что все заявленные действия - которые неплохо бы проводить паралельно-должны выполнятся в одной транзакции. Если паралельность разводить со стороны клиента то управление транзакциями становится черезвычайно сложным или даже невозможным. Короче не стоит овчинка выделки.(IMHO) Я так считаю, что в данном случае нужно совершенствовать механизм проводки.Улачшая сам алгоритм. Других путей не вижу.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 18:49 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
Я не вижу ничего страшного, в том, что документ на 400 строк будет проводиться несколько минут. Сколько времени этот документ вводили ? Пара минут на проведение ничего не изменит :) Если пользователю совсем не хочется ждать, можно эту операцию запускать параллельно на клиенте, сохраняя при этом пользователю возможность работать с другими документами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 07:03 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
"страшное" в долгом проведении - это что в это время работают и другие - и следовательно вероятность конфликтов возрастает, по сравнению с проведением за пару секунд.... ...НО я думаю это достаточно сложновато я думаю заметно укорит использование Prepare и Execute.... Как я написал что обработка -в тригере в нем самое "тормозящее" это цикл for trow in select * from cis.cis_gl where cis.cis_gl.cis_object = new.cis_object and cis.cis_gl.post_date > new.post_date order by cis.cis_gl.post_date loop update cis.cis_gl set comment='updated', skt_s= new.kt_s + trow.skt_s, sdt_s= new.dt_s + trow.sdt_s where cis_gl.gl_id = trow.gl_id; end loop; раз он в тригере -не означает что он уже прекомпилирован? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 09:20 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
ну так уберите его, перепишите одним SQL запросом, судя по коду это не трудно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 10:05 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
как? в апдейте нельзя сделать чтобы он обновлялся по определенному порядку в мне надо чтобы следующая по дате запись обновлялась значением предыдущей + изменение текущей записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 10:23 |
|
||
|
Многопоточность
|
|||
|---|---|---|---|
|
#18+
все-таки, если PQisthreadsafe() возвращает 1, можно ли использовать объект Pgconn из нескольких потоков одновременно? Где про это можно почитать? Тут все очень размыто - http://www.postgresql.org/docs/8.3/interactive/libpq-threading.html . С одной стороны, авторlibpq is reentrant and thread-safe if the configure command-line option --enable-thread-safety was used when the PostgreSQL distribution was built С другой - авторOne thread restriction is that no two threads attempt to manipulate the same PGconn object at the same time. Исключают ли они друг друга, или второе всегда верно, непонятно. Дайте ссылку или растолкуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2008, 19:04 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34562281&tid=2004270]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 380ms |

| 0 / 0 |
