Regarding PDC, I had a blast! I am pumped about Whidbey, Yukon, Longhorn…everything. Great to be back with my family, Tonya and Ava. Oh and another in beta!
The Yukon caching stuff demands a renewed search for “indexed view”-friendly queries. That is, to benefit from Yukon’s cache invalidation stuff, you must follow the constraints of indexed views. Until PDC it was a mystery to me as to how cache invalidation was implemented. In retrospect it is obvious that indexed views solve the essential invalidation problem. Yukon surfaces the invalidation event rather than updating an index. I am presuming that indexed views are not recalculated from scratch when an underlying table changes.
Yukon's mechanisms are not finalized. Mike Pizzo says that they will enhance the technology, either by:
automatically simplifying complex queries to invalidation-friendly ones.
accepting a set of secondary, invalidation-friendly, queries such that you can setup a more pessimistic invalidation.
Either mechanism will introduce pessimism. He says that additional features will impact whether the callback can actually return the inserted/deleted rows - a deadly feature that is under evaluation.
Back to the point, I want my queries to be compatible with invalidation and indexed views. I want to enumerate ways to achieve this:
Use triggers to maintain precomputed tables. Generate these tables to allow your queries to be friendly.
Similarly, denormalize to other database on a schedule (wishful)
Please reply with ideas for effective use of indexed views. Thanks!