gpt4 book ai didi

php - 如何排队插入以创建批量插入

转载 作者:行者123 更新时间:2023-11-29 00:53:41 25 4
gpt4 key购买 nike

我将更改我的应用程序,使其执行批量插入而不是单个插入,以减轻我服务器上的负载。我不确定解决这个问题的最佳方法。到目前为止的想法是:

  1. 使用文本文件并将所有插入/更新语句写入此文件并每 5 分钟处理一次 - 我不确定处理此问题的最佳方法。当主进程仍在尝试向其中添加更多语句时,从一个进程读取(以创建批量插入)会导致问题吗?我是否需要每 5 分钟创建一个新文件并在处理后删除它。

  2. 将插入存储在 session 中,然后只处理它们。这会导致内存等问题吗?

我将 PHP 和 MySQL 与 MyISAM 表一起使用。我对处理此问题的最佳方式的所有想法持开放态度,我只知道我需要停止进行单次插入/更新。

谢谢。

最佳答案

将数据导入数据库的最快方法是在文本文件上使用load data infile

参见:http://dev.mysql.com/doc/refman/5.1/en/load-data.html

当然,您也可以使用批量插入,如果您希望它们在选择之后排队,请使用如下语法:

INSERT LOW PRIORITY INTO table1 (field1, field2) VALUES (1,1),(2,2),(3,3),...
or
INSERT DELAYED INTO .....

请注意,delayed 不适用于 InnoDB。另请注意,在使用 MyISAM 时不建议使用 low priority

参见:
http://dev.mysql.com/doc/refman/5.5/en/insert.html
http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html

关于php - 如何排队插入以创建批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7163313/

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