Если по существу, то ниже приведена кое-какая информация (применимая к 4.0 и шведскому функционалу) из того, что я делал для оптимизации работы скриптов обновления данных. После тестовой конвертации базы были выявлены самые "долгоиграющие" скрипты и они оптимизировались в первую очередь. Некоторые замечания по приведенным данным:
- В моем случае конвертировалась база 3.0, соотв., мне пришлось оптимизировать куда больше скриптов, в т.ч. касающихся российской локализации;
- При конвертации базы 3.0 идет переливка данных в новую базу, и кучу того, что делают штатные скрипты конвертации, я запихнул в эту переливку, а скрипты отключил; для 4.0 это, видимо, не прокатит.
- Конвертация шла на Oracle DB, у которого, скажем так, не лады с not exists join в плане скорости его отработки, при этом в скриптах конвертации not exists join используется повсеместно; весьма вероятно, на Ms SQL Server ситуация была бы менее плачевной.
- Время работы скриптов конвертации очень сильно зависит от конкретных данных, их объема, используемого функционала, числа компаний...
То, что идет перед названием метода, - это часть имени того или иного класса ReleaseUpdateDB*, т.е., скажем, 41_Basic - это класс ReleaseUpdateDB41_Basic.
Код:
Название метода класса обновления данных Длит., мин. Что сделано
До После Gain
41_Cust.updateCustTransIdRef 2010 40 1970 добавлен альтернативный метод для случая, когда таблица CustTransIdRef исходно пуста
41_Basic.updateTimeZoneDataUpgrade 1450 40 1410 конвертация выполняется на лету, скрипты обновления отключаются через их настроечную таблицу
401_Vend.createDimHistory_PurchInvoice_DSQL 656 66 590 Переписан ReleaseUpdateDB401_Vend.createDimHistorySprocs для формирования распараллеливаемых запросов с литералами
401_Vend.createDimHistory_PurchPackingSlip_DSQL 60 Переписан ReleaseUpdateDB401_Vend.createDimHistorySprocs для формирования распараллеливаемых запросов с литералами
41_Cust.updateCustTable_W 20 0 20 значение MandatoryCreditLimit перебивается на лету, скрипт отрублен
41_Cust.updateCustInvoiceJour_HU 10 0 10 добавлена привязка к конфигурационному ключу CRSEHungary
41_Cust.updateCustInterestValues_PL 10 0 10 добавлена привязка к конфигурационному ключу CustInterest
401_Asset.updateCategorizationTrans_CZ 10 0 10 добавлена привязка к конфигурационному ключу PreAcquisition_W
401_Vend.updateVatNum_PL 10 0 10 добавлена привязка к конфигурационному ключу CRSEPoland
401_Vend.updateVendRegNum_W 10 0 10 добавлена привязка к конфигурационному ключу CRSEEstonia