Received: from localhost (maia-1.hub.org [200.46.204.191]) by postgresql.org (Postfix) with ESMTP id 7A8A39FC04A; Wed, 8 Aug 2007 09:42:09 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.191]) (amavisd-maia, port 10024) with ESMTP id 74208-02; Wed, 8 Aug 2007 09:42:05 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.5 X-Greylist: from auto-whitelisted by SQLgrey-1.7.5 Received: from s15216962.onlinehome-server.info (s15216962.onlinehome-server.info [217.160.22.205]) by postgresql.org (Postfix) with ESMTP id BD1C89FC022; Wed, 8 Aug 2007 09:42:04 -0300 (ADT) Received: (from uucp@localhost) by s15216962.onlinehome-server.info (8.13.3/8.13.3) with UUCP id l78CgAGZ001440; Wed, 8 Aug 2007 14:42:10 +0200 Received: (from weigelt@localhost) by nibiru.metux.de (8.12.10/8.12.10) id l78CesnC026214; Wed, 8 Aug 2007 14:40:54 +0200 Date: Wed, 8 Aug 2007 14:40:54 +0200 From: Enrico Weigelt To: pgsql-sql , postgresql performance list Subject: Performance on writable views Message-ID: <20070808124054.GC27936@nibiru.local> Reply-To: weigelt@metux.de Mail-Followup-To: pgsql-sql , postgresql performance list Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Terror: bin laden, kill bush, Briefbombe, Massenvernichtung, KZ, X-Nazi: Weisse Rasse, Hitlers Wiederauferstehung, 42, X-Antichrist: weg mit schaeuble, ausrotten, heiliger krieg, al quaida, X-Killer: 23, endloesung, Weltuntergang, X-Doof: wer das liest ist doof X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200708/97 X-Sequence-Number: 26227 Hi folks, I'm often using writable views as interfaces to clients, so they only see "virtual" objects and never have to cope with the actual storage, ie. to give some client an totally denormalized view of certain things, containing only those information required for certain kind of operations. This method is nice for creating easy and robust client interfaces - internal schema changes are not visible to the client. In situations when many, many clients - often coded/maintained by different people - have to access an database which is still under development (typical for many inhouse applications), it helps to circument interface instabilities. Now I've got the strange feeling that this makes updates slow, since it always has to run the whole view query to fetch an record to be updated (ie. to get OLD.*). Could anyone with some deep insight please give me some details about that issue ? cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT service - http://www.metux.de/ --------------------------------------------------------------------- Please visit the OpenSource QM Taskforce: http://wiki.metux.de/public/OpenSource_QM_Taskforce Patches / Fixes for a lot dozens of packages in dozens of versions: http://patches.metux.de/ ---------------------------------------------------------------------