I'm part of a project that inherited a piece of software that has a unique MS SQL database design that I'm trying to understand why they designed it the way they did.
Basically for every table, for example table tab_user, there is a duplicate table that is called tab_user_view. The tab_user_view is populated with triggers placed on the tab_user table to populate the tab_user_view. All of our pages that list data retrieve data from the _view tables. I kind of understand this is to avoid locking and increase performance, but why wouldn't they just use traditional views? The original software was written in 2003 so is it possible some tech wasn't available that we now have? Thanks
UPDATE
-Yes, there is some data manipulation for the _view tables, but the same thing can be achieved with views, so why?
_viewtables then there is clearly no difference to all your queries just selecting from the base tables. Just additional overhead and inefficiencies and possible bugs of keeping the two in synch. – Martin Smith Feb 22 at 19:15viewsaren't even actual views. They are just tables named with aviewsuffix. – Martin Smith Feb 22 at 19:19