I have a fairly hairy query that pulls reporting data. Even super optimized it takes 8-10 minutes to run. I now have a new requirement where they want to allow users to be able to pull it on demand. Ok I said. I either need to turn this into an indexed view OR just pull the data nightly and load a de-normalized reporting table. There are pros and cons to both but so far neither suggest itself as being the optimal path.
From a workload standpoint the view seems easiest. With the table I’d have to create a robust ETL process which will take hours. What I’m not sure about is space/performance impact on the server because I’m not a DBA.
How would YOU do it? All input/ideas welcome.