Received: from mail1.hub.org (webmail.hub.org [216.126.85.1]) by mail.postgresql.org (8.11.1/8.11.1) with ESMTP id f2DBrHx04380; Tue, 13 Mar 2001 06:53:17 -0500 (EST) (envelope-from gunnar@candleweb.no) Received: from thor.candleweb.no (thor.candleweb.no [195.139.160.194]) by mail1.hub.org (8.11.1/8.11.1) with ESMTP id f2DBrGd04372; Tue, 13 Mar 2001 06:53:16 -0500 (EST) (envelope-from gunnar@candleweb.no) Received: (from gunnar@localhost) by thor.candleweb.no (8.10.0/8.10.0/on4) id ; Tue, 13 Mar 2001 12:38:52 +0100 (MET) To: "David Wall" Cc: , pgsql-jdbc@postgresql.org Subject: Re: JDBC autocommit versus own commits performance References: <001e01c0ab53$1c6e4d80$5a2b7ad8@expertrade.com> Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII From: Gunnar R|nning Date: 13 Mar 2001 12:38:51 +0100 In-Reply-To: "David Wall"'s message of "Mon, 12 Mar 2001 16:18:21 -0800" Message-ID: Lines: 32 X-Mailer: Gnus v5.4.65/Emacs 19.34 X-Archive-Number: 200103/111 X-Sequence-Number: 1272 [CC to the jdbc list] "David Wall" writes: > [1 ] > I'm using Postgresql 7.1beta4 with JDBC, and I was wondering if I should go to the trouble of modifying my connection pool to manage two pools, once with setAutoCommit(false) and the other with setAutoCommit(true). > > As it is, I turne off auto commit since in my transaction processing, I need to control the commit/rollback. > > But, there are also a lot of cases where I'm doing a simple query and I don't need transaction isolation, per se. Is the performance better if I use auto-commit than if I SELECT and do a commit() myself? And is there any benefit to doing a rollback on a select instead of a commit, since nothing changed? > > Would there be a benefit with auto commit off if I had to do several different SELECTs, since I'd only have to do one commit at the end instead of the autocommits after each step? > I've been wondering the same thing myself, but haven't gotten around to test performance implications of different configurations. If you do any testing, it would be nice if you could share your data. Having two pools implies that you either have to use more backend processes though(if you don't reduce the size of the pools). This may or may not be an issue depending on the OS of your backend. You could of course also just create different checkout methods for the same underlying pool, but that would be mostly for convenience and not performance - although it could be OK if your updates are few compared to your clean queries. regards, Gunnar