#1 21.01.09 16:18
PDQ (паралелльные) запросы в Informix
Добрый день,
Есть запрос, который длится несколько часов и совершенно не жрет системных ресурсов. Его надо распораллелить.
Прочитал про PDQ: http://docs.rinet.ru/InforSmes/ch19/ch19.htm
Фактически, если я правильно понимаю, достаточно, добавить statement:
SET PDQPRIORITY 90;
Перед запросом, чтобы он стал параллельным.
Создал две процедуры для тестирования, одну как обычный запрос:
create procedure lsav.testquery()
UPDATE voucher SET voucherscenarioid =
( SELECT voucher.vouchercategoryid * 6 + subsprofile FROM actorRecharge
WHERE voucher.aliasname = actorRecharge.aliasname)
WHERE voucher.state = 61;
END PROCEDURE;
второй как запрос типа PDQ:
create procedure lsav.testpdq()
SET PDQPRIORITY 90;
UPDATE voucher SET voucherscenarioid =
( SELECT voucher.vouchercategoryid * 6 + subsprofile FROM actorRecharge
WHERE voucher.aliasname = actorRecharge.aliasname)
WHERE voucher.state = 61;
END PROCEDURE;
При запуске обоих процедур время тратится одинаковое. Во время запуска "testpdq" запустил монитор MGM:
onstat -g mgm
и вижу:
Queries: Active Ready Maximum
0 0 8
Т.е. фактически, мой запрос не выполняется как PDQ. Плиииз, подскажите почему. Что делаю не так?
Offline

