|
Posted by Jasper Bryant-Greene on 07/23/05 13:18
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
Navigation:
[Reply to this message]
|