Re: Database I/O and other performance questions. - Mailing list pgsql-general

From Tom Lane
Subject Re: Database I/O and other performance questions.
Date
Msg-id 24829.977591175@sss.pgh.pa.us
Whole thread Raw
In response to Database I/O and other performance questions.  (Lincoln Yeoh <lyeoh@pop.jaring.my>)
List pgsql-general
Lincoln Yeoh <lyeoh@pop.jaring.my> writes:
> would/should select count(*) be slower than select
> count(averysmallcolumnmaybeboolean)

There is actually a semantic difference there, see
http://www.postgresql.org/devel-corner/docs/postgres/sql-expressions.htm#SYNTAX-AGGREGATES
count(*) means the count of selected rows, but count(foo) means the
number of selected rows where the variable or expression is not NULL.

count(*) should be a fraction faster, because it doesn't expend any
cycles to check whether the specific column is NULL.  The "*" in this
syntax doesn't mean "all columns" the way it does in a select list,
it's just a dummy.

            regards, tom lane

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Database I/O and other performance questions.
Next
From: Tom Lane
Date:
Subject: Re: Performance and doing USENET style threaded messages