I have to agree with your supervisor on this one. Always go to the source when you can, otherwise you risk presenting invalid data. I would not build new HTML on every update. I would use a version based system for speed. Example HTML_Table =============== HTMLid int Updater int HTMLData NTEXT Every time you rebuild the HTMLData you set the Updater to zero. UPDATE HTML_Table SET Updater = 0, HTMLData = "whatever" WHERE HTMLid = 1 Every time you update a table that can change your HTML, increment the Updater: UPDATE HTML_Table SET Updater = Updater + 1 WHERE HTMLid = 1 Every time a page needs the HTML: (1) If the updater > 0 the rebuild HTML (2) return HTML This part would best be implemented in a Stored Proc. Remember, SQL Server will cache the last few requests on its own - no need to build your cache system that never knowns when it is out-of-date.