|
|
|
|
#1 |
|
Участник
|
Распишу детальней
В этом цикле while select * from TOR_Eo_Table where tor_eo_table.RassetId == rassetTable.AccountNum я нахожу единицы оборудования,которые имеют связь с основным средством В этом цикле while select * from Tor_OrdersObj where Tor_OrdersObj.EoID == Tor_Eo_Table.EO_Id я нахожу заказы,в которых присутствуют ранее найденные единицы оборудования В этом цикле while select * from prodTable where prodtable.prodId == Tor_OrdersObj.ProdId join tor_WorkCode where tor_WorkCode.Code == prodTable.tor_WorkCode && tor_WorkCode.WorkGroup == TOR_WorkGroup::TR я нахожу вид ремонта всего их четыре(текущий,капитальный,средний и техническое перевооружение)сумма будет складываться по видам ремонтов. В этом цикле while select PlanSumCustMaterialTZP from ProdSum where ProdSum.ProdId == Tor_OrdersObj.ProdId Я нахожу суммы затрат прикрепленные к заказам И вот этот приведеный кусок только для оного вида ремонта,таких блоков будет еще три,для каждого вида ремонта. И всего где - то получится 16 циклов. При маленьком количестве заказов у меня обработка проходит за две секунду,а если их будет 60тыс. даже считать неохота как это будет долго |
|
|
|
|
#2 |
|
Участник
|
Нет, у вас не это спрашивают.
внутри внешних циклов находится только вызов вложенного while select или есть какие-нибудь вычисления на x++? если нет вычислений, то стоит подумать над тем, чтобы объединить вложенные запросы в один с join. Содной стороны это резко уменьшит количество запросов на скл-сервер. Но с другой стороны, объединенные запросы не позволят выполнить действия на Х++ по завершению вложенного цикла. |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Оптимизация класса Tax | 43 | |||
| Оптимизация кода с LedgerTrans | 18 | |||
| проблема с настройкой штрихового кода | 4 | |||
| Оптимизация кода X++ | 8 | |||
| Использование штрихового кода (barcode) в Аксапта | 9 | |||
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|