RE: Re: paginating : optimising queries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've run in to this situation before. And it turns out that the extra
pre-"count" query is not worth it. So the steps become:

1) Do your main query and fetch the results.
2) Use the count of results obtained in step 1.
3) Calculate pagination numbers.
4) Use array_slice to limit the results to a page window calculated in
step 3.

Hope this helps.

- Aman Patel, Sys Admin / Database / Web Developer, International
Outreach x4076

> -----Original Message-----
> From: Zouari Fourat [mailto:fourat@xxxxxxxxx] 
> Sent: Tuesday, March 22, 2005 10:03 AM
> To: php-db@xxxxxxxxxxxxx
> Subject:  Re: paginating : optimising queries
> 
> 
> no one can help me outta here ?
> 
> 
> On Mon, 21 Mar 2005 01:58:10 +0100, Zouari Fourat 
> <fourat@xxxxxxxxx> wrote:
> > Hello,
> > i made my own paginating class, it permit me to paginate 
> over selected 
> > data and let me do good presentation (page 1, page 2 ...) i 
> use adodb 
> > for db related functions, my application should show in every page 
> > this set of informations :
> > 
> > Total results : Z, Total page : Y, You are on the page number X.
> > 
> > To show thos informations, i must do a count on all the 
> table, example 
> > : the query built from the form submitted by the user is :
> > 
> > select * from table where column=value and column like 'value%'
> > 
> > to paginate that query, i'll add some LIMIT or LIMIT OFFSET 
> for pgsql 
> > (it's adodb frontend) so i'll get only the data for one 
> page ! i use 
> > this query :
> > 
> > select count(*) from table
> > 
> > with that global count i can calculate how much pages i have by 
> > dividing count on the number of rows to show per page.
> > 
> > with this method, the server will suffer for big tables... it's a 
> > method that i've made without consulting what people do, can you do 
> > this with only ONE query so i can optimise ?
> > 
> > thank you for your help
> >
> 
> -- 
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux