У меня есть куб (около 1M строк в источнике) и с такими показателями:
- TotalSales (определяется с помощью агрегации SUM, столбец источника определяется как bigint)
- Вычисляемый элемент
IIF(ISEMPTY([Measures].[TotalSales]), NULL, [Measures].[TotalSales] / 90000.00)
Этот вычисленный элемент выше работает нормально и занимает около 1 сек , но, когда я хочу вычесть ту же самую агрегацию SUM статическим числом, это вызывает некоторую проблему с производительностью (это занимает около 20 минут ), это вычисление ниже:
IIF(ISEMPTY([Measures].[TotalSales]), NULL, [Measures].[TotalSales] - 0.5)
Я незнать, что вызвало столь большую проблему в другом арифметическом операторе (следовательно, я протестировал мультипликативный оператор (*), и это заняло то же время, что и оператор деления, а оператор суммы (+) занял то же время, что и оператор минус (-).
Есть ли какая-то разница между этими операторами в том, что они могут так сильно влиять на производительность?