gpt4 book ai didi

php - 如何提高 MySQL INSERT 性能?

转载 作者:行者123 更新时间:2023-11-29 23:30:37 25 4
gpt4 key购买 nike

我有一个程序可以从许多商家收集信息。

来自商家的每个请求,我的程序都会执行一个 InSERT 查询:

INSERT INTO `good` (id,code,merchant,netcost,ip) values('','GC8958','merchantname','581000','192.168.34.30');

商家一次请求很多(超过500+请求),所以MYSQL做了500+插入查询。

这是一个问题吗?我该如何用 MYSQL 解决它?

最佳答案

这应该不是问题,除非您的硬件有限(在这种情况下,答案是“更快的磁盘、更多的 RAM、更快的 CPU”一旦您验证了这三者中的哪一个平均是瓶颈 )。您可以使用 INSERT DELAYED “覆盖”峰语法,如果您使用 MyISAM 表(可能不值得;该语法已被弃用)。

如果您批量执行此操作(即不是不同的客户端每个插入一行),则多个 INSERT s 甚至 LOAD DATA INFILE将是一个巨大的帮助。在紧要关头,您可以将它们保存在磁盘或 session 上(相当于相同的东西)上(或者可能在一个小 MEMORY 表中 - 但我会在诉诸该表之前运行一些测试)并运行真实INSERT闲暇时。

我会把进一步的优化留到以后; “过早的优化是万恶之源”。无论如何,您可能对 some 感兴趣Google results (最后涉及一些深奥的问题,例如“问题是:启用 InnoDB 双写缓冲区更好还是使用 ext4 事务日志更好”)。

关于php - 如何提高 MySQL INSERT 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26602522/

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