Heim  >  Artikel  >  Backend-Entwicklung  >  访问量一大功能就不能正确实现了,求高手帮忙优化两段PHP代码解决方法

访问量一大功能就不能正确实现了,求高手帮忙优化两段PHP代码解决方法

WBOY
WBOYOriginal
2016-06-13 13:37:16793Durchsuche

访问量一大功能就不能正确实现了,求高手帮忙优化两段PHP代码
第一段:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php @session_start();
date_default_timezone_set('Asia/Shanghai');
$link_id =@ mysql_connect('localhost', 'root', 'password');
if ($link_id)
 {
     mysql_select_db('database');
     mysql_query("set names 'utf8'"); //select 数据库之后加多这一句
} 
else
{
    echo "数据库连接错误!";
}
//var_dump($current);
$Datetime=date("Y-m-d G:i:s");//获取注册时间,也就是数据写入到用户表的时间
$bijiao="select max(current) from online";
$max=@mysql_query($bijiao,$link_id);
$most= intval( @mysql_result($max,0) );
$current= intval($_SESSION['current']);
$query="insert into online(current,mostcount,time)  values('".$current."','".$most."','$Datetime')";
$result=mysql_query($query);
echo $most;
?>


第二段:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php @session_start();
date_default_timezone_set('Asia/Shanghai');
$link_id =@ mysql_connect('localhost', 'root', 'password');
if ($link_id)
 {
     mysql_select_db('database');
     mysql_query("set names 'utf8'"); //select 数据库之后加多这一句
} 
else
{
    echo "数据库连接错误!";
}
$bijiao="select max(mostcount) from online";
$max=@mysql_query($bijiao,$link_id);
$most= intval( @mysql_result($max,0) );
$time="select time from online where mostcount='$most'";
$time=@mysql_query($time,$link_id);
$time=@mysql_result($time,0);
$already="select max(mostcount) from record";
$already=@mysql_query($already,$link_id);
$already= intval( @mysql_result($already,0) );
if($most>$already)
{
    $query="insert into record(mostcount,time)  values('".$most."','$time')";
    $result=@mysql_query($query);
}
?>



------解决方案--------------------
第一段与第二端的算法大致相同
第二段的算法有点胡闹

如果你对未加索引的 current 或 mostcount 做 max 操作,势必占用大量的时间
------解决方案--------------------
你在数据库中给current和mostcount加上索引就行了
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn