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

Как ускорить работу запроса??

Добавлено: 02 дек 2008, 11:31
Pasynkova
Здравствуйте!
Очень медленно работает запрос, можно ли его ускорить???

Код: Выделить всё

where ((DEMANDBINDDOC.cSpDoplist==SpDoplist.nrec   and
          SpDoplist.cdoplist==Doplist.nrec                           and
          Doplist.cDogovor==Dogovor.nrec                         and
          Demandbinddoc.cmc==KatMC.nrec                       and
          Demandbinddoc.cPodrNazna==Katnazna.nrec
          ))   
                                       
Задача состоит в том чтобы вытащить материалы из договоров с назначениями, по которым они разбиваются в доп листах...
А так как инфа нужна за год, запрос может формироваться ну ооооочень долго, точно сколько не знаю нервы не выдерживали :???:
Помогите плиииз :)

Добавлено: 02 дек 2008, 12:47
Den
кол-во записей в DEMANDBINDDOC ?
у Вас это свои таблицы что ли - DEMANDBINDDOC & SpDoplist. Или под синонимами продекларировано что то ?

Добавлено: 02 дек 2008, 13:01
Pasynkova
Да это свои таблицы и DEMANDBINDDOC содержит более 230 тыс записей :(

Добавлено: 02 дек 2008, 13:07
Den
ну 230 относительно не так и много. Платформа какая у Вас ?

Добавлено: 02 дек 2008, 13:29
Pasynkova
Pervasive, Gal 8.0

Добавлено: 02 дек 2008, 13:37
Den
1. Ну и сколько он вообщем по времени формируется ?
2. а если запустить только с
where ((DEMANDBINDDOC.cSpDoplist==SpDoplist.nrec ))
то разница есть отностиельно п.1
3. "А так как инфа нужна за год.." Может быть тогда имеет смысл отсекать прямо с договоров. Шоб не лопатить всю DEMANDBINDDOC

Добавлено: 02 дек 2008, 13:47
Pasynkova
если запустить только ((DEMANDBINDDOC.cSpDoplist==SpDoplist.nrec ))
то формирует довольно таки быстро
а когда дохожу до договора тогда чтобы сформировать инфу за месяц уходит около 40мин... :(
DEMANDBINDDOC отвечает за привязку документов к заявке (к плановым сметам по участкам), без нее обойтись ни как не могу...
т.е. надо вытащить материалы из договора и при этом разложить их по назначениям и участкам которые заказывали этот материал в плановых сметах....

Добавлено: 02 дек 2008, 13:54
Den
т.е. у Вы анализируете dogovor.dbeg dogovor.dend в своем алгоритме ?

Добавлено: 02 дек 2008, 13:59
Pasynkova
да

Добавлено: 02 дек 2008, 14:12
Den
Нужно тогда во where именно с dogovor обход начинать и там ограничивать нужные условия на эти даты, подобрав нужный индекс. Тогда будет отсекаться куча ненужных DEMANDBINDDOC

Добавлено: 02 дек 2008, 15:55
Pasynkova
Спасибо!!! :)
Это действительно помогло сократить время формирования разав 4!
Только пришлось идти по doplist :)

Добавлено: 02 дек 2008, 16:08
Den
Плиз.
Уходите с Pervasive лучше . Тогда еще будет возможность повысить производительсность )