php foreach 嵌套循环大数组很慢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php foreach 嵌套循环大数组很慢?相关的知识,希望对你有一定的参考价值。
就这个循环花了10S,
我写的是用php导入excel 到mysql数据库,但是要验证code 不能重复,原本想用一个foreach循环selecte 一个一个的对比,一想到要插入1000条就要seletet 1000次这样写会很慢,结果我就用了上面这个方法 ,先用一条selecte 把数据库的数据全部查出来的到一个数组$gift,然后跟excle上传过来的数据 嵌套循环对比 ,一运行发现很慢 单嵌套循环就花了10s,我又改用第一种方法,结果才花了5S ,还快了一半。我是想问大神们,你们遇到这样的问题都是怎么处理的,有没有更好的方法?我觉得写程序这样事情经常会有
简单的就是将excel中的数据导入的数据库中(可以是另外一个表),将验证码字段建索引。然后再排查重复的,纯sql就很快了。追问
在本地测是很快几乎可以忽略,但是到服务器就不一样了,我要导入1000条就要sql 1000次,这样总感觉有问题
追答在数据库中建立索引后就很快了,不会真的执行1000次。
用卡迪尔积是效率最差的。
还有一个慢的原因可能是打开并读取excel慢。
意识就是我要用phpexcel 导入数据到数据库,导入之前还要判断导入的数据不能跟数库的数据重复 ,有重复就不插入,重复的要返回给用户
以上是关于php foreach 嵌套循环大数组很慢?的主要内容,如果未能解决你的问题,请参考以下文章