Python 的 MySQL 连接器的比较和更快插入/更新的最佳方法

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

我有一个

MySQL
数据库,特别是版本
8.0.33
,我正在寻求使用 Python 建立连接。在
pymysql
MySQL Connector
pyodbc
等可用选项中,我对使用 Python 脚本在表中处理
inserting/updating
数据的最有效方法感兴趣。在进行这些操作时,这些连接器之间的速度或性能是否存在显着差异?

您能否对这些连接器进行比较分析,或者提出通过 Python 脚本提高 MySQL 表插入和更新速度的策略?

python mysql database pyodbc pymysql
1个回答
0
投票

没有太大区别,因为 MySQL Server 不支持批量操作:

虽然可以使用多值语法重写批量插入(INSERT INTO table VALUES (val1),(val2),...,val(n)),但 UPDATE 和 DELETE 语句需要执行 n 个 SQL 命令。

这意味着大部分时间都花在网络操作和服务器端处理每个单独的 SQL 语句上,而不是花在 python 模块本身上。

这不是答案,但另一种选择是将 MariaDB Server 与 MariaDB Connector/Python 一起使用,它们都支持本机批处理操作。当从 MariaDB Connector/Python 运行基准测试时,更新/删除速度大约快 10 倍(客户端和服务器在不同的机器上运行)。

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