balwant singh wrote:
Hi,

I have made a webpage in php which retrieves the data from a huge MYSQL tables as below:-

$i=0;
while ($i<=23)
{
select a, b from table where hour(time)=$i and date='' order by desc time limit 1;
$i++;
}

then i substract the current hour output from the last hour output for calcuating the output in that hour through PHP code and then display it.

But my problem is that this page takes approx. 90 seconds or more for loading even when i refresh the page, it is taking the same time.

I have done indexing on that table, tune the php and apache but it is still taking same time.

I have other tables also when PHP is doing more calculatios but those pages are not taking so much time they load in 5 sec. or so.

Is there anything needs to be done more, please advise.

Don't loop through in PHP and execute the query 23 times. Instead, execute the query once (without the "hour(time)=$1 and " and the "limit 1", and use a while($row = mysql_fetch_assoc($result)) { } type function to get all 23 rows. That will be much faster.

By the way, that should probably be "order by time desc" not "order by desc time".

Jasper

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

Reply via email to