Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: gprof SELECT COUNT(*) results


  • From: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>
  • To: Simon Riggs <simon(at)2ndquadrant(dot)com>
  • Cc: pgsql-hackers(at)postgresql(dot)org
  • Subject: Re: gprof SELECT COUNT(*) results
  • Date: Thu, 24 Nov 2005 16:27:05 -0500 (EST)
  • Message-id: <Pine(dot)LNX(dot)4(dot)58(dot)0511241618290(dot)16035(at)josh(dot)db>


On Thu, 24 Nov 2005, Simon Riggs wrote:

>
> Maybe, maybe not. The whole system is designed around high levels of
> concurrent access. If you know for certain you don't ever need that then
> other systems are probably the right choice. Concurrency has a cost and
> a benefit. If you measure the cost, but not the benefit, it will seem
> expensive.
>

Yeah, understood. What I can't understand that in this case why it costs
so much -- without concurrency, the LWLock code path just invloves
spinlock_lock/unlock and serveral simple instructions?

What's more, we can see that for each row, a LWLock pair is invoked. So on
a more aggressive thought, can we change it to page level? I know it is
terriblly difficult since our query processor infrastructure is based on a
single-tuple interface ...

> Your results show you have 2.6m rows, not 260k rows. Yes?

It is 260k since I test each round by 10 "SELECT COUNT(*)".

Regards,
Qingqing



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group