gpt4 book ai didi

PHP - 插入 mysql 多行最佳方法

转载 作者:行者123 更新时间:2023-11-29 13:40:22 25 4
gpt4 key购买 nike

好吧,假设我有 3 个 SQL 表和一个文本文件。文本文件为 CSV 格式。文件结构 - 想象每一行都有一个数组。值为 0 时间戳;选项卡 1 的 1、4、7、10 值;选项卡 2 的 2、5、8、11 个值;选项卡 3 的 3、6、9、12 个值。处理后将数据插入数据库的最佳方法是什么?解决方案 1. foreach 行读取“insert into tab ... ;”我目前正在使用它,并且需要花费很多时间。解决方案 2. foreach line read 将 sql 语句推送到数组中,当我处理完所有行后,生成一个类似“Insert into tab...; insert into tab...; insert into tab...;”的字符串并执行查询。文件有大约。 4000 行,每个表有 7 个值。

最佳答案

您应该使用批量插入,而不是为每个语句执行一条记录。在你的情况下,每个表应该有一个插入语句(除非给定表的记录多于一个“mysql数据包”所能容纳的记录)。

参见:How to do a batch insert in MySQL

如果使用批量插入,应确保每次批量插入不超过max_allowed_packet变量。

您可能还会发现索引是最大的瓶颈。在大插入之前禁用它们并在大插入之后重新启用它们可能会有所帮助。请参阅:How to disable index in innodb

最后,MySQL 可以有 this technique应用于它,以实现高带宽插入。

关于PHP - 插入 mysql 多行最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18159565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com