要插入数据库的数千条记录

问题描述 投票:0回答:1

我的服务器接收数据,应该插入或更新现有数据库表。我的问题是数据量huge,接收到数千条记录,一张一张地写可能要花费数小时。有没有一种方法可以优化写作?我还应该说,每次写操作之前都会有一个查询,以检查记录是否已在数据库中。

目前,我使用带有TTL的缓存来跳过重复的记录。我还使用信号量来防止一次过多的DB写请求(可能引发超时错误)。

mysql node.js database optimization
1个回答
0
投票
  • 收集一百行,构建一个多行INSERT并执行它。 (10倍加速)
  • INSERTs内放入100个1行BEGIN。.COMMIT。 (10倍加速)
  • 检查您是否没有未使用的索引。 (避免长期陷入困境)

提供SHOW CREATE TABLE;我可能还有更多建议。

duplicate记录是什么意思?所有列都一样吗?只是某些UNIQUE列是相同的吗?这里可能有帮助的技术。

1000个记录被一一插入,即使没有上述建议也应不超过10秒。此过程还涉及其他方面;请详细说明。

© www.soinside.com 2019 - 2024. All rights reserved.