PHP/MySQL 大插入

标签 php mysql mysqli

插入多行。

问题:

1) 我是否应该使用 set autocommit to OFF 并使用 php 来无缓冲地循环结果

$mysqli->query("MY QUERY", MYSQLI_USE_RESULT); 

并构建多个插入语句。

2) 应该(或者我可以)将自动提交设置为 OFF 并执行单个查询“插入到选择中”吗? 自动提交到 OFF 是否与插入选择一起使用?

3) 将结果导出到数据文件,然后使用加载数据输出文件? 我在某处读到这在插入大量数据时有很大的好处。但是,并非我的脚本运行的每个实例都总是有大量数据。

我们正在谈论多少条记录?

可能是 5 或可能是 100000。取决于一天中的时间和软件的情况。

谢谢。

最佳答案

这取决于尺寸和您的个人风格。

我更喜欢导出/导入数据,因为:

  • 一个文件,方便查看、修改、移动。

  • 我习惯了处理大文件。

  • 我想这很常见。我从未使用/学习过其他方式,也没有人提示过。

不幸的是,我没有基准测试或统计数据,但我认为这是一种快速的方法。希望我的个人意见对你的选择有所帮助。

关于PHP/MySQL 大插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127839/

相关文章:

php - mySQL for 循环在 31 行更新后停止工作 [实际上与 PHP 相关]

mysql - 解决 Homebrew 警告而不造成不良影响

php - 连接 Php、html 和 mysql

php - 一个数组包含 null 和其他空值的数组差异问题

MySQL 列出单个表中的一些字段并计算来自另一个表的所有特定字段引用

php - 多图上传系统

PHP/MySQLi 函数从 3 个表生成 CSV,但分别需要 1 行

php - 检查用户名和密码是否正确

php - 查询返回结果,但给出有关 bool 值的警告

php - Laravel Mail::queue 错误:闭包序列化失败,即使是最基本的用法