It is right. The indexed view is basically an additional table that contains a copy of all the data in a sorted way. This makes it so fast, but, like everything in SQL Server, it is expensive - in this case, additional storage and additional time are required to synchronize all copies of the data.
The same is true for a normal index in a table. This is also a copy of the index keys (plus some information on where to find the source line), which requires additional storage and additional time during supported updates.
To find out if adding an index to a table or view makes sense, you need to look at the whole system and see if a performance improvement for one query can degrade the performance of other queries.
In your case, you should also (first) check if additional indexes in the base tables can help your queries.
source share