|
![]() |
#1 |
----------------
|
Есть простой способ.
Надо сделать вставку recordinsertlist.insertdatabse(); в несколько раз реже, чтобы запихивалась не 1-10 записей а сразу 1000-2000. Цитата:
для меня сюрпризом были, что запрос из while select исполняется по мере выполнения цикла
Последний раз редактировалось Wamr; 27.12.2006 в 17:21. |
|
![]() |
#2 |
Участник
|
Цитата:
Цитата:
Систем монитор, кстати, говорить что количество селектов соотв. количеству записей... Код: AgreementTable agreementTable; ContractTable contractTable; ContractPartTable contractPartTable; ; prognosisLineList = new RecordInsertList(tablenum(PrognosisLines)); prognosisList = new RecordSortedList(tablenum(PrognosisLines)); prognosisList.sortOrder(fieldnum(PrognosisLines, PrognosisId), fieldnum(PrognosisLines, AgreementNum), fieldnum(PrognosisLines, ProductNum), fieldnum(PrognosisLines, StartDate), fieldnum(PrognosisLines, YearMonth)); ttsbegin; while select agreementTable where agreementTable.DeliveryCategory == deliveryCategory join contractTable where contractTable.DeliveryCategory == agreementTable.DeliveryCategory --- join contractPartTable where contractPartTable.ContractNum == contractTable.ContractNum --- { this.writePrognosisLines(agreementTable, contractTable, contractPartTable); // опрерации + вставка } prognosisLineList.insertDatabase(); this.prognosisTotals(); ttscommit;
__________________
-- regards, Oleksandr |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|