用PDO往MYSQL里面插入数据的话。插入五千条大概140多秒时间,插入1万条大概260多秒时间
来源:互联网 发布:焊接软件 编辑:程序博客网 时间:2024/04/30 05:40
代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpglobal $begin;global $end;$begin = microtime(TRUE);try {$dsn = "mysql:host=localhost;dbname=kaixin";$db = new PDO($dsn, 'root', '111');$db->exec("set names 'utf8'");//默认编码$db->setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_EXCEPTION);for($i=1; $i<5000; $i++){$sql = "insert into `article` (`title`, `content`, `time`, `author`, `ip`) value ('文章标题".$i."', '内容".$i."','1227237892','kaixin','127.0.0.1')";$db->exec($sql);}$end = microtime(TRUE);$time = $end-$begin;echo "执行了".$time."s";} catch (Exception $e) {echo "Failed: " . $e->getMessage();}?>
执行这段代码,只能插入大概1000条左右的数据,这样页面就不执行了。
测试页面的执行时间大概都是29秒左右,也就是页面的最大执行时间 是30秒。
知道set_time_limit函数,可以设置页面执行时间。
set_time_limit函数用法如下:
本函式用来设定该页最久执行时间。内定值是 30 秒,在 php.ini 中的 max_execution_time 变数设定,若设定为 0 则不限定最久时间。当执行到该函数时,才开
始计算。例如,若内定是 30 秒,而在执行到该函数前已执行了 25 秒,而用本函式改为 20 秒,则该页面最长执行时间为 45 秒。
发现页面执行时间还是29秒左右,没有起作用。
看到网上有人说,php.ini里的safe_mode如果为on,本函数不执行。查了我的php.in里的safe_mode=off。
我又试着把set_time_limit(0);加入到for循环里。
也 没有起作用。
最后在网上查到,有人说,“set_time_limit函数最好是在linux下执行,windows执行可能也无效”。彻底对这个函数失去信心 了,估计是因为我是windows系统的原因。
只能修改php.ini里的max_execution_time = 30了。这个默认是30秒,我修改为max_execution_time = 300.重新启动apache服务器。
结果执行时间为140秒左右,5000条数据终于插入了。
看来,windows下这个页面执行时间还是在php.ini里控制,修改max_execution_time。
从上面的实例也可以得出,如果用PDO往MYSQL里面插入数据的话。插入五千条大概140多秒时间,插入1万条大概260多秒时间。
- 用PDO往MYSQL里面插入数据的话。插入五千条大概140多秒时间,插入1万条大概260多秒时间
- java读取大文本直接插入Mysql数据库,10万条数据4秒执行完
- 使用 MySQLi 和 PDO 向 MySQL 插入多条数据
- MySQL在插入90万条数据消耗的时间以及查询90万条数据时的性能优化
- 3分钟左右的时间如何向MySQL数据库中插入100万条数据
- SQL 执行插入1000万条数据操作 几十秒内!
- 通过数组方式向Oracle大批量插入数据(10万条11秒)
- 多条数据插入
- 数据插入多条
- 插入10万条数据
- 2秒内向数据库中插入十万条数据?
- 插入带时分秒的时间数据sql
- 10台PC 2亿数据量任意查询不到0.3秒, 插入 650万条数据仅用时 3分钟
- 使用hibernate插入时间,没有时分秒
- Excel插入时间(精确到秒)
- ibatis插入时间显示时分秒
- SQL表单条数据插入与多条数据插入
- mysql 单条insert语句,插入多条数据记录
- C语言文件读写操作,从文件读取数据
- PAT--害死人不偿命的(3n+1)猜想
- [转]ulimit -c unlimited
- linux 旅程
- 【Android】记住用户名(密码)
- 用PDO往MYSQL里面插入数据的话。插入五千条大概140多秒时间,插入1万条大概260多秒时间
- Android开发之向桌面添加快捷方式
- scrollview的添加内容不显示(偶尔)
- 安全电子邮件系统解决方案
- TinyXml的使用
- linux下tftp、samba、nfs服务的配置和启用
- UnicodeEncodeError: 'ascii' codec can't encode characters in position
- js nodejs 博客
- FileInputStream/FileOutputStream的应用