Страница 1 из 1

Оптимизация запросов на Атлантисе

Добавлено: 28 фев 2004, 18:35
McDOOKE
Есть такая проблемка,Формирование проводок с помощью ТХО АР1 отрабатывает 4-часа, возможна ли оптимизация SQL скрипта для ускорения работы
Скрипт:

create view getpl
var
CurSoprDoc : comp;
as select *
from basefin s,katsopr
where ((
CurSoprDoc == katsopr.nrec and
katsopr.cstepdoc == stepdoc.nrec and
stepdoc.cbasedoc == S.cbasedoc
));

procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{if (getfirst katsopr = tsOk)
{_loop S
TxoBodySetSum(hTxo, s.Summa, 0, 0);
TxoBodyInsert(hTxo);
}
}

Re: Оптимизация запросов на Атлантисе

Добавлено: 28 фев 2004, 18:50
Den
А basefin чего...уже в подцепках прописывать не нужно ?

Re: Оптимизация запросов на Атлантисе

Добавлено: 28 фев 2004, 20:03
McDOOKE
Да вроде как описан через алиас S

Re: Оптимизация запросов на Атлантисе

Добавлено: 01 мар 2004, 07:45
Goblin
StepDoc в список From для Select засунь ...
Натыкался я пару раз на непонятность , когда не используя таблу в Select'е втыкал ее в сцепку(ну не нужно было отображать ее данные - просто через шла подцепка) и получал декартово произведение требуемого запроса с этой самой таблой, неподключенной в Select ... Добавление в Select все ставило на свои места

Re: Оптимизация запросов на Атлантисе

Добавлено: 27 апр 2004, 16:40
oiko
можно вместо loop последовательные do while
по katsopr, stepdoc и s тогда в select stepdoc можно и не включать

Re: Оптимизация запросов на Атлантисе

Добавлено: 28 апр 2004, 10:47
paa
Илья, а почему Вы думаеете, что самое узкое место - это запрос. Запрос построен оптимально.
Как я понимаю Вы делаеете групповую разноску ТХО. Какое количество ТХО обрабатывается 4 часа?