From: Richard Broersma <richard.broersma@gmail.com>
To: wyx6fox@sina.com <wyx6fox@sina.com>
Cc: pgsql-performance@postgresql.org <pgsql-performance@postgresql.org>
Subject: Re: the jokes for pg concurrency write performance
Date: Mon, 1 Feb 2010 21:54:07 -0800
Message-ID: <A0AB1CF0-FD79-4BC5-ADF1-B8570A6B30E6@gmail.com> (raw)
In-Reply-To: <20100202045701.93A404B1C73@mail175-236.sinamail.sina.com.cn>
References: <20100202045701.93A404B1C73@mail175-236.sinamail.sina.com.cn>
On Feb 1, 2010, at 8:57 PM, wyx6fox@sina.com wrote:
> i found a joke ,maybe this joke concurrency strategy is the
> designer's pround idea, but i think it is a joke , next let me
> describe the problems:
>
I would suggest that the behavior that you dislike so much is really
not idea of the postgresql developers as much as it is of Prof. Codd
and the ANSI-SQL committee. I wonder if a creditable relational DBMS
exists that doesn't behave in exactly the way you've described?
> UPDATE webpages SET hits = hits + 1 WHERE url ='some url ';
>
> i say ,u should no kill concurrency performance
>
One alternative design would be to log the timestamp of your web page
hits rather than update a hits count field.
Once you have this design, if the table becomes volumous with
historical logs you have the choice the use horizontal table
partitioning or you can roll up all of the historical logs into an
aggregating materialized view(table).
Regarding all of the jokes you mentioned, I found them all to be very
funny indeed. :)
Regards,
Richard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: richard.broersma@gmail.com, wyx6fox@sina.com
Subject: Re: the jokes for pg concurrency write performance
In-Reply-To: <A0AB1CF0-FD79-4BC5-ADF1-B8570A6B30E6@gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox