SSAS Dimension Processing: Why use ProcessUpdate when ProcessFull is faster?

Norman K. F. Chow 80 Reputation points
2024-06-04T03:50:47.87+00:00

I have a question about which processing option should be used for SSAS dimensions.

I heard that ProcessFull option is faster than ProcessUpdate, and I found that it is the case. I have a big dimension of a cube, which takes about 90 mins to process using ProcessUpdate, took only 40 minutes by using ProcessFull. Time is saved by half!

Also, given at some point of time of dimension processing, ProcessFull would be necessary, then why should ProcessUpdate be used at all? The AI gives the following answer:

The reason to use ProcessUpdate instead of ProcessFull for SSAS dimensions is to save processing time. ProcessFull is faster than ProcessUpdate, but it drops all data in the dimension and then processes the dimension, which means that all affected cubes and their partitions will exist in an unprocessed state and they will have to be fully processed on their next scheduled run.

But I found the answer even more confusing:

  1. If the use of of "ProcessUpdate" is to "save processing time", then how come "ProcessUpdate" is slower?
  2. If the cube (i.e its measure groups) would be processed fully after all its dimensions have been processed anyway, does it matter if "ProcessUpdate" or "ProcessFull"?
SQL Server Analysis Services
SQL Server Analysis Services
A Microsoft online analytical data engine used in decision support and business analytics, providing the analytical data for business reports and client applications such as Power BI, Excel, Reporting Services reports, and other data visualization tools.
1,258 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Olaf Helper 42,761 Reputation points
    2024-06-04T05:46:48.5933333+00:00

    their partitions will exist in an unprocessed state and they will have to be fully processed on their next scheduled run.

    Have you read the sentence?

    If you run a ProcessFull on a dimension, then you have to process all related measure group partitions as well and that will take also time.

    If you run a ProcessUpdate the "measure group partition data" stays alive and will only be a bit updated.