我从数组中解析了数以千计的数据。我的关注点是我的脚本的处理时间,它是否会影响我的脚本的处理时间,因为我有十万条记录被插入到数据库中?我有一种方法可以批量处理数据到数据库的插入吗?使用PHP批量处理数组使用PHP
0
A
回答
0
这是SQL文件 - 但是你可以按照它的模式(如果不只是用它) -
它的文件分割成可以指定零件,说3000行,然后将它们插入一个定时间隔< 1秒到1分钟或更多。
这样一个大文件被破碎成较小的插入件等
这将有助于旁路编辑PHP服务器配置和担心内存限制等。如脚本的执行时间等。
新用户无法插入链接,以便谷歌搜索“SQL自卸大”或者,如果这个工程转到: WWW [点]奥泽罗夫[点]去[斜杠] bigdump [点] PHP
,所以你可以即使在理论上修改上述脚本以接受您的数组作为数据源而不是SQl文件。这显然需要一些修改。
希望它有帮助。 -R
0
它不太可能会影响处理时间,但您需要确保数据库的事务日志足够大,以便为100k行构建回滚段。
1
语法是:
INSERT INTO tablename (fld1, fld2) VALUES (val1, val2), (val3, val4)... ;
所以,你可以写不便。像这样的(虚拟的例子):
foreach ($data AS $key=>$value)
{
$data[$key] = "($value[0], $value[1])";
}
$query = "INSERT INTO tablename (fld1, fld2) VALUES ".implode(',', $data);
这个工程上巨大的数据集相当快的事件,而不用担心性能,如果你的数据集装入内存。
0
或者与ADOdb中包装(http://adodb.sourceforge.net/):
// assuming you have your data in a form like this:
$params = array(
array("key1","val1"),
array("key2","val2"),
array("key3","val3"),
// etc...
);
// you can do this:
$sql = "INSERT INTO `tablename` (`key`,`val`) VALUES (?, ?)";
$db->Execute($sql, $params);
0
你有没有想过array_chunk?它在另一个项目中为我工作 http://www.php.net/manual/en/function.array-chunk.php
相关问题
- 1. 使用php批量循环使用php
- 2. 使用php运行批处理文件
- 3. 使用jQuery中的PHP数组处理
- 4. 使用PHP批量插入
- 5. 由变量批处理数组调用
- 6. php java批处理
- 7. 使用批处理
- 8. 使用批处理
- 9. 使用批处理
- 10. 使用批处理
- 11. 使用PHP预处理一个漂亮的显示数组使用PHP
- 12. 使用Vertx JDBC处理程序批量插入数组
- 13. 处理数组PHP
- 14. 使用PHP处理XML
- 15. xml使用php处理(simplexml?)
- 16. PHP批量处理解决方案
- 17. 处理批量使用asp.net网页API
- 18. 使用PHP处理KML数据
- 19. 使用PHP处理表单数据
- 20. 使用PHP数组
- 21. 批处理图像处理cronjob在php
- 22. 使用PHP的FQL批量请求
- 23. 使用MySQL更新批量项目PHP
- 24. 使用php将图像批处理文件夹变成灰度
- 25. 在批处理文件中使用PHP -W标志
- 26. 使用PHP exec命令执行批处理文件的问题
- 27. 如何使用批处理
- 28. 复制使用批处理
- 29. 如何使用批处理
- 30. 使用批处理文件
感谢大家的建议!我真的很感激它,我会尝试使代码与大转储相同的概念或只是修改它.. 再次感谢! – text 2009-05-29 15:05:03