Forum Webscript.Ru
Программирование => Perl => Тема начата: DartSidius от 27 Июня 2007, 04:54:09
-
Есть бд: оракл
перл
запросы очень долгие...т.к. база содержит порядка 25миллионов записей...выборка примерно 7-15 минут
Можно ли в перле запустить несколько процессов выборки сразу?...
Я рассматриваю щяс такой вариант:
есть головной файл index.cgi
из него посредством system запускается второй файл в котором запрос и формируется и делается ответ
Так вот...если я запущу
system("/usr/bin/perl file2.cgi");
system("/usr/bin/perl file3.cgi");
то головной скрипт будет ждать ответа от file2.cgi а только потом запустит следующий system?...
Если есть другие варианты, предлагайте...буду рад помощи :)
-
perldoc -f fork
но я бы оптимизировал запрос.
для небольшой базы 15 минут -- много.
-
>Можно ли в перле запустить несколько процессов выборки сразу?
В Греции все есть:) perldoc -f fork
>то головной скрипт будет ждать ответа...?
Да
PS если запросы однотипные можно иметь промежуточную таблицу в которой все заранее посчитано и работать с ней.
-
посмотрю
25 миллионов записей - эт не большая база :) ?...
причём это там ещё с другой вяжется и т.д...база операционная..телефонные междугородние переговоры
не...запрос оптимизированный...там всё ок
-
А есть где-нибудь нормальный пример работы fork?...а то что-то я не понял...или понял но не до конца
получается надо создать подпрограмму где запускается fork
sub start_fork {
my $pid = fork();
if($pid) {
}
else {
}
}
дальше что-то не думается :)