MySQL-用PHP把MYSQL里的10万条数据生成文本文件的最佳实践?
用PHP把MYSQL里的10万条数据生成文本文件的最佳实践?
最省时间和服务器资源的方式。
会使用php处理数据。我所使用的是
$result = mysql_unbuffered_query($sql);
while($row = mysql_fetch_assoc($result))
{
// 处理
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
select 列1,列2, ....... 列n from tbname [where 条件] into outfile "optbackupdata.txt"
导出的数据是每列用tab 分开的具体数据,就好像一个矩阵一样。使用PHP的mysql_query()传递给数据库管理系统,让mysql执行后将返回的结果给PHP后并写入到文本当中即可。
或者使用mysql的命令,需要调用系统的mysql程序,只是使用 `` system passthru 以及 shell_exec()等函数可以调用,另外楼上说的对,因为你的记录很多【额 十万条不少了】,php脚本运行时间可能会超时导致执行不完全,因此开头加上
set_time_limit(0)
这样能够避免超时,最佳实践的话,最好能够使用系统的工具执行,肯定比cgi的PHP的程序占用资源少,效率更高。
Good Luck~~~
php调用mysql直接执行这个语句最快
SELECT * INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY 'n'
FROM table;
如果能调用shell的话
shell_exec('mysqldump -h -u –p –where="条件" 库名 表名 > /tmp/result.txt');
最佳实践的话没有经验,但是可以使用PHP另存为文件,或者使用PHP的SYSTEM()函数调用mysql的管理工具导出成文件,个人感觉使用mysql或者mysqldump的效率可能会更高一些,因为执行时间比较长,建议加上
set_time_limit(0); 保证php脚本不会异常退出,当然使用passthru的话效果可能会更好一些,这样能够得到执行返回的结果