Re: Re: Performance problems?

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

 



Aha - thanks.  The problem is, I also need to retrieve other data 
asscociated with it.  I'll alter the table to order by id, but is there 
anything long-term I can do?

Manuel Lemos wrote:

> Hello,
>
> On 11/02/2002 03:21 AM, Leif K-Brooks wrote:
>
>> I've been optimizing scripts in an attempt to speed my friend's site 
>> up, and I believe I've found the source of the performance problems.  
>> When I comment the following page load time changes from around 6 
>> seconds to less than .5 of a second.
>>
>>    if($loggedin){
>>        $events = mysql_query("select * from events where 
>> whofor='{$userinfo['id']}' order by id desc limit 1");
>>        if(mysql_num_rows($events) == 1){
>>            $events = mysql_fetch_array($events);
>>            print <<< END
>>            <p align="center"><a 
>> href="{$basepath}doevent.php?id={$events['id']}">{$events['message']}</a></p> 
>>
>>            END;
>>        }
>>    }
>>
>> This code checks for events (new mail, etc.) that the user may have 
>> and dispays them.  Any idea on what makes it perform this badly?
>
>
> The order by clause is the killer. It forces the server to rebuild the 
> whole table in memory just to returned the results sorted. If you just 
> want the highest id, use MAX(id) .
>
>

-- 
The above message is encrypted with double rot13 encoding.  Any unauthorized attempt to decrypt it will be prosecuted to the full extent of the law.




-- 
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