MySQL-用PHP把MYSQL里的10万条数据生成文本文件的最佳实践?

发布于 2016-12-24 21:49:20 字数 242 浏览 1356 评论 3

用PHP把MYSQL里的10万条数据生成文本文件的最佳实践?
最省时间和服务器资源的方式。

会使用php处理数据。我所使用的是

$result = mysql_unbuffered_query($sql);
while($row = mysql_fetch_assoc($result))
{
// 处理
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜无邪 2017-10-11 19:25:48

 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~~~

晚风撩人 2017-07-16 04:05:11

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');

想挽留 2017-05-06 19:37:58

最佳实践的话没有经验,但是可以使用PHP另存为文件,或者使用PHP的SYSTEM()函数调用mysql的管理工具导出成文件,个人感觉使用mysql或者mysqldump的效率可能会更高一些,因为执行时间比较长,建议加上
set_time_limit(0); 保证php脚本不会异常退出,当然使用passthru的话效果可能会更好一些,这样能够得到执行返回的结果

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文