I thought I would try using an indexed view in my application for data loads we get once a day (we currently have to do some subqueries, and I wanted to replace them with a join on an indexed view). However, the restrictions on them made it impossible. I think indexed views are pretty much useless in their current form.
Does anyone know if they are improved in SQL Server 2005?
My sentiments entirely. We used this to, for example, put a unique index on a table that permitted multiple rows with NULL - the NULL rows were excluded in the VIEW and thus we got a unique index on the not-null ones.
Ever since then we've been playing silly-B's with ARITHABORT, INSTEAD_OF triggers to work around the fact that you cann't insert through the VIEW and a bunch of other stuff.
No doubt for queries that use VIEWs with indexes that actualy had performance problems its a bonus, but the crafty use we have used them for has been a PITA.