SSAS (Sql Server Analysis Services) Производительность ОБНОВЛЕНИЯ с несколькими операторами обновления в транзакции
Наша бизнес-логика заключается в отправке нескольких операторов MDX UPDATE в SSAS за одну транзакцию. Каждый оператор обновления обычно имеет 600-800 ячеек, которые обновляются. Все эти обновления касаются одного и того же набора групп мер в пределах одного раздела. Раздел MOLAP используется.
Первый оператор обновления занимает менее 2 секунд, но время, затрачиваемое на каждый последующий оператор обновления, постепенно увеличивается, а для сотых операторов обновления это занимает до 41 секунды!
(Если я возьму последний оператор обновления, который занял 41 секунду, и запустил его новую транзакцию, это займет менее 2 секунд снова)
Любые указатели, чтобы уменьшить эту производительность?
- Я уже пытался увеличить общий лимит памяти для свойств SSAS, но улучшения не произошло.
- Бизнес-логика не позволяет делать соответствующие обновления в реляционной БД напрямую, поскольку пользователь должен иметь возможность откатить изменения.
- Количество операторов UPDATE зависит от взаимодействия с пользователем, и поэтому мы не можем использовать какое-либо решение, которое оптимизирует производительность для нескольких операторов обновления, одновременно снижая производительность для одного обновления.