Что заставляет Вас сказать, что или одиночный элемент или статический метод не ориентированы на многопотоковое исполнение? Обычно оба должен быть реализованным, чтобы быть ориентированным на многопотоковое исполнение.
большая разница между одиночным элементом и набором статических методов - то, что одиночные элементы могут реализовать интерфейсы (или произойти из полезных базовых классов, хотя это менее распространено, по моему опыту), таким образом, можно раздать одиночный элемент, как будто это была "просто другая" реализация.
Calculated members have little to no effect on processing nor on other queries. Add as many as you'd like!
The reason is that they're just defined on the cube, but actually evaluated at runtime. Therefore, the only queries that will be slowed or affected by them are queries that use them. Expect them to return a bit slower than native members for this reason, also.
Look for every opportunity to make the calculated member an actual part of your cube if it's used very frequently. Also, learn and love the scope
statement. While a calculated member that's scope
d is still calculated at runtime, the scope
statement provides it a ready-made execution plan, so it tends to be faster. I will often create a member in the DSV and then scope
it for my high-volume calculated members.
Каждый раз, когда вы можете вернуть вычисления в реляционную модель, это повысит производительность запросов многомерных выражений; но также отрицательно сказываются на производительности обработки.
Если вы можете предварительно вычислить некоторые меры, используя встроенную логику sql, то выставьте их как меры в представлении источника данных. Механизм хранения может создавать агрегаты, и у обработчика формул будет меньше работы. Вы в основном переносите тяжелую работу на sql. Это действительно хорошо работает для статических вычислений и коэффициентов преобразования и таких вещей, как простая арифметика и т. Д.
Еще вы можете создать любые промежуточные вычисляемые элементы, которые не должны использоваться конечным пользователем как скрытые. Это не повлияет на по производительности; но убережет куб с точки зрения конечных пользователей.