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

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

WBOY
WBOYasal
2016-06-13 13:37:16793semak imbas

访问量一大功能就不能正确实现了,求高手帮忙优化两段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加上索引就行了
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn