X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by postgresql.org (Postfix) with ESMTP id 18E9C11F6933 for ; Tue, 28 Mar 2006 16:44:15 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 10697-06 for ; Tue, 28 Mar 2006 16:44:11 -0400 (AST) Received: from svr4.postgresql.org (svr4.postgresql.org [66.98.251.159]) by postgresql.org (Postfix) with ESMTP id C86AF11F691D for ; Tue, 28 Mar 2006 16:44:09 -0400 (AST) Received: from peufeu.com (boutiquenumerique.com [82.67.9.10]) by svr4.postgresql.org (Postfix) with ESMTP id 1C90D5AFE87 for ; Tue, 28 Mar 2006 19:43:43 +0000 (GMT) Received: (qmail 12646 invoked from network); 28 Mar 2006 21:42:51 +0200 Received: from boutiquenumerique.com (HELO apollo13) (82.67.9.10) by boutiquenumerique.com with SMTP; 28 Mar 2006 21:42:51 +0200 To: "Scott Marlowe" , Marcos Cc: pgsql-performance@postgresql.org Subject: Re: Decide between Postgresql and Mysql (help of References: <1143559902.1241.16.camel@servidor> <1143572392.3625.79.camel@state.g2switchworks.com> Message-ID: Date: Tue, 28 Mar 2006 21:42:51 +0200 From: PFC Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit In-Reply-To: <1143572392.3625.79.camel@state.g2switchworks.com> User-Agent: Opera M2/8.51 (Linux, build 1462) X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.112 required=5 tests=[AWL=0.112] X-Spam-Score: 0.112 X-Spam-Level: X-Archive-Number: 200603/561 X-Sequence-Number: 17998 > This is as much about the code in front of the database as the database > itself. You'll want to use an architecture that supports pooled > connections (java, php under lighttpd, etc...) and you'll want to look Well, anybody who uses PHP and cares about performance is already using lighttpd, no ? > MySQL and PostgreSQL can handle fairly heavy parallel loads. I'll only speak about MyISAM. MySQL == MyISAM. InnoDB is useless : if you want transactions, use postgres. If you say to yourself "oh yeah, but it would be cool to use a MyISAM table for stuff like hit counters etc"... Is it the job of a SQL database to count hits on the root page of your site ? No. To store user sessions ? No. The job of a SQL database is to efficiently handle data, not to do something that should stay in RAM in the application server process, or at worst, in a memcached record. MySQL + MyISAM has a huge advantage : it can look up data in the index without touching the tables. MySQL handles parallel SELECTs very well. However, throw in some maintenance operation which involves a long query with writes (like a big joined UPDATE) and all access to your website is blocked while the query lasts. This is worsened by the fact that MySQL sucks at complex queries. If all of your updates are done to a few rows, MyISAM is cool, but someday you'll want to do this query which locks a table during one minute... and then you got a problem. Just be very clear about what you want to do, what types of queries you'll want to run in two years... etc.