|  02.11.2007, 09:22 | #1 | 
| Участник | Опять оптимизация запроса 
			
			while  select AccountNum, Voucher, AmountCur from rAssetTrans //Ищем все ОС, которые введены в эксплуатацию where rAssetTrans.AssetTransType == RAssetTransType::Acquisition && rAssetTrans.TransDate <= transDate join rAssetStandards where rAssetStandards.AssetId == rAssetTrans.AccountNum && rAssetStandards.AssetGroup != 'СО' && rAssetStandards.AssetGroup != '01' && rAssetStandards.PostingProfile != 'НМА' { ledgerAccount = ( select firstonly firstfast AssetDebAccountNum_ru from LedgerJournalTrans where LedgerJournalTrans.Voucher == _voucher && (LedgerJournalTrans.AssetDebAccountNum_ru != 'XX-00-00-з001' || LedgerJournalTrans.AssetDebAccountNum_ru != '') ).AssetDebAccountNum_ru; .................... } | 
|  | 
|  02.11.2007, 10:41 | #2 | 
| Участник | 
			
			опять же используем  join, но использовать строки журналов - это вульгарно  ищите счета в бух проводках, т.е. в LedgerTrans | 
|  | 
|  02.11.2007, 14:05 | #3 | 
| Участник | 
			
			Согласен с тобой по LedgerTrans. Но join с LedgerTrans увеличивает время запроса | 
|  | 
|  02.11.2007, 14:41 | #4 | 
| Участник | 
			
			Надо делать 1 большой запрос к БД. 1 запрос на много записей отработает быстрее, чем много запросов по 1 записи   | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Оптимизация запроса - ranges | 13 | |||
| Изменить план выполнения запроса | 2 | |||
| Оптимизация запроса | 16 | |||
| Оптимизация запроса | 1 | |||
| Ускорение выполнения запроса Oracle + MS Axapta | 17 | |||
| 
 |