什么是实现算法来操作和插入sql记录的最快方法?

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

我有一个名为TRENDS的表,其中包含约2万条记录。我需要根据每个列的值来操纵TRENDS表的每一行,并且该行的最终输出是一个字符串,名为Insight,它不过是操纵过的行而已。然后,我需要将该见解存储到INSIGHTS表中。伴随着洞察力,我正在生成3个分别位于三个独立功能中的查询。每个查询的结果与Insight_id一起存储到另一个名为FACTS的表中,以指示这三个事实属于相同的见解。

由于数据位于mysql数据库中,因此我使用python的mysql-connector库在我的脚本上运行以进行检索和插入操作。有了每一个洞察力和3个事实,我正在执行execute()和commit(),这需要3秒才能插入一组记录,而TRENDS表中的这些记录是20k Recod,需要花费大量时间才能完成。

解决此问题的最快方法是什么?如果可能,请提出一个更好的算法。

mysql sql python-3.x cx-oracle mysql-connector-python
1个回答
0
投票

如果您可以提供每个表中的数据样本以及所需的输出,我们将提供更多帮助。以下是根据您所说的一些非常一般性的指针:

  • 执行查询有很多开销,如果一次读取和写入一行,您将浪费大量执行时间来等待查询执行
  • 批量操作要快得多,为什么不一次读取所有20k行,然后回写20k,或者如果您的本地系统要求太高,为什么不一次执行1000次?
  • ...或看看是否可以编写查询来完成SQL的整个操作
© www.soinside.com 2019 - 2024. All rights reserved.