for($i=1;$i<=10000;$i++){
$sql="insert into l(name,age,info) values('名字$i',$i,'介绍$i')";
mysql_query($sql);
}我这样的插入方法..大概插入300条左右就:
Fatal error: Maximum execution time of 30 seconds exceeded in D:\Backup\phptest\index.php on line 9请问有什么改良的办法不?
$sql="insert into l(name,age,info) values('名字$i',$i,'介绍$i')";
mysql_query($sql);
}我这样的插入方法..大概插入300条左右就:
Fatal error: Maximum execution time of 30 seconds exceeded in D:\Backup\phptest\index.php on line 9请问有什么改良的办法不?
for($i=1;$i <=10000;$i++){
$sql.="('名字$i',$i,'介绍$i'),";}
$sql=substr($sql,0,-1);
mysql_query($sql);
set_time_limit(0);//加上不限时
for($i=1;$i <=10000;$i++){
$sql="insert into l(name,age,info) values('名字$i',$i,'介绍$i')";
mysql_query($sql);
}
$sql="insert into l(name,age,info) values('名字$i',$i,'介绍$i')";
mysql_query($sql);
}sql 编在一起
一次直接
$sql="insert into l(name,age,info) values";
for($i=1;$i <=10000;$i++){
$sql .="('名字$i',$i,'介绍$i'),"; }
$sql = substr($sql,0,-1);
mysql_query($sql);
不过当一次性插入的数量大了的话
难道数据库里面的最大memory就不会die吗?
10000条哥们我没有测试,这要看内容的多少
不过还有一种方法可以试试
将$i做为跳转的页数,在脚本中加以控制让其按指定的一次执行sql次数去自动执行
这样一来的话就不会有memory和超时的限制了
当然这个只是个方法,不一定适合你的要求(毕竟哥们要插入的名字...)
没用过MySQL插入很多数据么比如有个表stu,字段为 id, name, age; 你可以这样插入数据INSERT INTO stu(id, name, age) VALUES(1,'BB',33), (2,'CC',43),(3, 'CCDD',44);
后面可以无限延伸
自己在数据库里建个表,试一下就知道了
所以,你这儿先构造好VALUES后面的字符,然后组合这个语句就行,别在那儿构造一个执行一句,效率太低了
$sql="insert into l(name,age,info) values";
for($i=1;$i <=30000;$i++){
$sql .="('名字$i',$i,'介绍$i'),";
}
$sql = substr($sql,0,-1);
mysql_query($sql); 一次插入3万..4万就不行了..不知道什么原因..这个速度好快..1秒就插入3W..
比较快的原因是你每执行一次mysql_query,MYSQL都会进行一次解析的过程,以1W笔数据来说,1w次和1次的速度相比,可想而知。
set_time_limit(0);
1.熟悉PHP语言,能自己解决实际问题。
2.能书写常用的SQL语句。
3.熟悉HTML/Javascript/等WEB技术
4.至少有一年以上的PHP工作经验
5.工作积极主动,比较踏实,责任心强。符合以下条件者优先:
在linux环境下能简单操作和配置一些常用服务。
对cakephp或者symfony框架有丰富的开发经验(不做必须要求);工作地点:北京海淀区知春路紫金数码3#909
薪水待遇:面议
联系人:徐小姐
邮箱:[email protected]
公司网址:http://www.fp-star.com
公司简介: 北京五极星信息系统技术有限公司成立于2005年7月。是一家综合软件产品服务提供商。公司位于中关村知春路紫金数码园,是拥有多个具有自主知识产权产品的高科技企业。
除去自主软件产品研发以外,公司同时还提供对日软件开发服务。经过多年的积累,目前公司拥有一批优秀的软件工程师,能为客户提供从基本业务分析一直到系统详细设计、开发、测试、售后服务等一系列的优质服务。
for($j=1;$j <=100;$j++){
$sql .="insert into l(name,age,info) values('名字$i*$j',$i*$j,'介绍$i*$j');";
}
mysql_query($sql);
} 将10000次的insert操作减少为100次,每次执行100条,效率会明显提升。你可以随意控制最外层的循环次数