Официальный сайт студ.городка НГТУ
Программирование и БД » PDQ (паралелльные) запросы в Informix 

#1  21.01.09 16:18

sav
Профиль

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

Программирование и БД » PDQ (паралелльные) запросы в Informix 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.117 сек.
Выполнено 14 запросов.