Показать сообщение отдельно
Старый 23.06.2011, 11:27   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Если по существу, то ниже приведена кое-какая информация (применимая к 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
За это сообщение автора поблагодарили: Logger (3).