相关疑难解决方法(0)

MySQL中的Sqlalchemy批量更新工作非常慢

我正在使用SQLAlchemy 1.0.0,并希望UPDATE ONLY批量生成一些(更新,如果匹配主键,则不执行任何操作)查询.

我做了一些实验,发现批量更新看起来比批量插入或批量更慢upsert.

能否请你帮我指出为什么它的工作如此缓慢或是否有其他方法/想法来制作BULK UPDATE (not BULK UPSERT) with SQLAlchemy

下面是MYSQL中的表:

CREATE TABLE `test` (
  `id` int(11) unsigned NOT NULL,
  `value` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

和测试代码:

from sqlalchemy import create_engine, text
import time

driver = 'mysql'
host = 'host'
user = 'user'
password = 'password'
database = 'database'
url = "{}://{}:{}@{}/{}?charset=utf8".format(driver, user, password, host, database)

engine = create_engine(url)
engine.connect()

engine.execute('TRUNCATE TABLE test')

num_of_rows = …
Run Code Online (Sandbox Code Playgroud)

python mysql bulkinsert sqlalchemy bulkupdate

5
推荐指数
1
解决办法
1519
查看次数

标签 统计

bulkinsert ×1

bulkupdate ×1

mysql ×1

python ×1

sqlalchemy ×1