之前,公司有一个日志记录表,记录每个访问者的ip地址和访问时间。由于产品设计需求,需要提取ip地址,根据不同ip地址的总和来计算游客访问量,后续ip访问量也需要与之前的ip进行对比。如果ip没有出现,访问量+1。否则,请勿进行任何更改。因为访客ip有几十万,不能一次性插入数据库,所以用array_chunk()把ip数组切割成无数个小数组,一次性执行sql语句。示例代码$visitorIp=array();//$start=memory_get_usage();for($i=0;$i<200000;$i++){//200000ip地址$visitorIp[]=['ips'=>'192.168.0.'.$i];}/***防止数据量过大导致sql无法执行(取50000条,占用2MB左右字节,不同环境可能有差异)*/$currentTime=date('Y-m-d他的');$visitorIp=array_chunk($visitorIp,50000);foreach($visitorIpas$ik=>$iv){$sql="INSERTINTORECORD_VISITORS_IP(IP,AddTime)VALUES";foreach($ivas$k=>$v){$sql.="('{$v['ips']}','{$currentTime}'),";}$sql=rtrim($sql,',');$result=mysqli_query($link,$sql);}
