28.01.2011, 09:55 | #1 |
Участник
|
Еще раз о переименовании номенклатуры (ItemID).
Доброго времени суток!
Поставлена задача массового переименования первичного ключа в номенклатурном справочнике, очень много неверных кодов. Кто-то реализовывал подобную задачу? Поделитесь опытом. Я снял трассировку переименования ItemID с помощью профайлера сиквела. Длительность процесса переименования колебалась в пределах 1 час 20 минут - 2 часа. Снял трассировку переименования вновь созданной номенклатуры, те же временные показатели. Все трассировки снимал в монопольном режиме на тестовой системе, т.е. в базе работал только один пользователь. В итоге: обрабатывается 164 запроса по 141 таблице. Проблема в том, что номенклатурный справочник привязан к виртуальной компании, а в ней объединено 7 компаний, поэтому апдейты по большинству таблиц обрабатываются по 7 раз (в каждой компании). Итого 914 запросов, конечно, из них есть 49 самописных таблиц . При запуске в рабочей системе процесс переименования блокирует пользователей. Может имеет смысл написать идентичный запрос, тупо скопировав все запросы из профайлера, и запустив его на сиквеле? Фокус в том, что все запросы сверху объединены общей транзакцией для отката, и даже если в данный момент процесс переименования не апдейтит таблицу в которую вносят данные пользователи, но она в общем списке таблиц на переименование, пользователи блокируются и ждут. Как бы блокировать пользователей только в пределах одной – трех таблиц?
__________________
Axapta 3.0 SP6 |
|