我测试了下 Python 几大 MySQL 驱动的查询速度。
http://ww1.sinaimg.cn/large/6909e98fgy1fw6hf5vx7fj20sl0833zo.jpg
和预料的一样,pymysql 是最慢的,mysqlclient 很快,但是 mysql-connector-python 更快,但是只是在 Python 3.6 下最快,一旦到了 Python 3.7,反而比 pymysql 还慢,这是怎么回事?
1
Qzier OP 图片怎么不显示?
|
2
Qzier OP 查询数据量 30w
|
3
congeec 2018-10-13 13:01:53 +08:00 via iPhone
求 benchmark 代码
|
5
westoy 2018-10-13 13:12:07 +08:00
mysql-connector-python 带个加速扩展, 没有的话 fallback 到纯 python 就慢出翔了
pypi 上 3.7 以上版本的 whl 自带,3.7 没有, 你从源码安装吧 |
7
NoAnyLove 2018-10-13 13:35:00 +08:00
5 楼正解,3.6 的 mysql_connector_python-8.0.12-cp36-cp36m-win_amd64.whl 包带了编译好的 dll,而 3.7 用的通用包 mysql_connector_python-8.0.12-py2.py3-none-any.whl 没有预编译好的扩展
|
8
Qzier OP |
9
sadhen 2018-10-13 13:45:14 +08:00
benchmark 代码得提供吧。另外,Python 有类似于 Java 的 Flight Recorder 那种东西么。
可以弄一个火焰图,看一下到底性能瓶颈在什么地方 |
10
sadhen 2018-10-13 13:45:41 +08:00
类似于 JMH 这样的,python 也应该有的吧
|
11
cy97cool 2018-10-14 01:10:44 +08:00 via Android
原来 pymysql 性能差距这么大 感谢楼主提供
|
12
holinhot 2019-06-07 17:09:13 +08:00
|