On Tue, 13 Jan 2004, David Shadovitz wrote:We avert the subsequent execution of count(*) by passing the value of count(*) as a query parameter through the link in page numbers.Mallah, and others who mentioned caching the record count:Yes, I will certainly do this. I can detect whether the query's filter has been changed, or whether the user is merely paging through the results or sorting* the results. I'd love to completely eliminate the cost of the COUNT(*) query, but I guess that I cannot have everything. * My HTML table column headers are hyperlinks which re-execute the query, sorting the results by the selected column. The first click does an ASC sort; a second click does a DESC sort.another useful trick is to have your script save out the count(*) result in a single row table with a timestamp, and every time you grab if, check to see if x number of minutes have passed, and if so, update that row with a count(*).
The count(*) can get evaluated with any arbitrary combination
in whre clause how do you plan to store that information ?
In a typical application pagination could be required in n number
of contexts . I would be interested to know more about this trick
and its applicability in such situations.
Does PostgreSQL optimise repeated execution of similar queries ie
queries on same table or set of tables (in a join) with same where clause
and only differing in LIMIT and OFFSET.
I dont know much about MySQL, Is their "Query Cache" achieving
better results in such cases? and do we have anything similar in
PostgreSQL ? I think the most recently accessed tables anyways
get loaded in shared buffers in PostgreSQL so that its not accessed
from the disk. But is the "Query Cache" really different from this.
Can anyone knowing a little better about the working of MySQLs'
query cache throw some light?
You can even have a cron job do it so your own scripts don't incur the cost of the count(*) and delay output to the user. ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
- [PERFORM] COUNT & Pagination David Shadovitz
- Re: [PERFORM] COUNT & Pagination Jeff Fitzmyers
- Re: [PERFORM] COUNT & Pagination Christopher Kings-Lynne
- Re: [PERFORM] COUNT & Pagination Richard Huxton
- Re: [PERFORM] COUNT & Pagination mallah
- Re: [PERFORM] COUNT & Pagination CoL
- Re: [PERFORM] COUNT & Pagination David Shadovitz
- Re: [PERFORM] COUNT & Pagination Robert Treat