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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

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

Сообщение 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
          ))   
                                       
Задача состоит в том чтобы вытащить материалы из договоров с назначениями, по которым они разбиваются в доп листах...
А так как инфа нужна за год, запрос может формироваться ну ооооочень долго, точно сколько не знаю нервы не выдерживали :???:
Помогите плиииз :)
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

кол-во записей в DEMANDBINDDOC ?
у Вас это свои таблицы что ли - DEMANDBINDDOC & SpDoplist. Или под синонимами продекларировано что то ?
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

Да это свои таблицы и DEMANDBINDDOC содержит более 230 тыс записей :(
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

ну 230 относительно не так и много. Платформа какая у Вас ?
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

Pervasive, Gal 8.0
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

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

Сообщение Pasynkova »

если запустить только ((DEMANDBINDDOC.cSpDoplist==SpDoplist.nrec ))
то формирует довольно таки быстро
а когда дохожу до договора тогда чтобы сформировать инфу за месяц уходит около 40мин... :(
DEMANDBINDDOC отвечает за привязку документов к заявке (к плановым сметам по участкам), без нее обойтись ни как не могу...
т.е. надо вытащить материалы из договора и при этом разложить их по назначениям и участкам которые заказывали этот материал в плановых сметах....
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

т.е. у Вы анализируете dogovor.dbeg dogovor.dend в своем алгоритме ?
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

да
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Нужно тогда во where именно с dogovor обход начинать и там ограничивать нужные условия на эти даты, подобрав нужный индекс. Тогда будет отсекаться куча ненужных DEMANDBINDDOC
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

Спасибо!!! :)
Это действительно помогло сократить время формирования разав 4!
Только пришлось идти по doplist :)
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Плиз.
Уходите с Pervasive лучше . Тогда еще будет возможность повысить производительсность )
Ответить