【问题标题】:Python MySQL Update taking 10-12 seconds to update about 1000 recordsPython MySQL Update 需要 10-12 秒来更新大约 1000 条记录
【发布时间】:2013-05-25 02:09:14
【问题描述】:

我有一些类似的东西:

while True:
    variables are set - Each loop the variables are different.
    sql = sql statement with above variables
    send sql to MySQL server

我能够在上述时间的一小部分内通过 MySQL 控制台更新 100K 记录。谁能指出我正确的方向? - 谢谢

【问题讨论】:

  • 一些适当的代码会有所帮助...但我怀疑您正在创建大量更新查询,而不是可以由数据库引擎优化的单个调用。
  • 如果您还没有研究过使用.executemany() 方法,请试一试。这是一个示例(诚然,它是针对另一个 RDBMS,但概念是相同的):stackoverflow.com/questions/9622689/…
  • @bernie 你是说我应该构建 SQL 然后发送一次吗?还是将 .executemany() 添加到 while 循环中?
  • 抱歉。我不得不走开。很高兴你自己解决了这个问题。编码愉快。

标签: python mysql sql python-2.7 mysql-python


【解决方案1】:

.executemany() 有效,这是我如何将代码更改为 0.2-.3 秒而不是 10-12 秒:

while True:
    variables are set - Each loop the variables are different.         
    data = variables - adding to data on each loop

sql = sql statement + data
send sql as a batch 

这很有帮助:http://mysql-python.sourceforge.net/MySQLdb.html

也感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多