是否支持PyMySQL?它比MySQLdb慢吗?

时间:2015-03-27 13:26:52

标签: python mysql-python pymysql

我正在构建一个需要高速连接的python3应用程序。作为一个纯python库,PyMySQL在连接和执行查询中会比基于C的MySQLdb慢得多吗?

未来的python版本是否支持PyMySQL?

如果没有,有人可以建议一个可靠的替代方案吗?

2 个答案:

答案 0 :(得分:4)

PyMySQL在纯Python中实现,而MySQLdb是C扩展。 PyMySQL在某些系统中易于安装(有时是唯一的方法),而MySQLdb有时会出现问题。

但两者都只是MySQL python连接器。

  

为什么选择PyMySQL? MySQL是一个非常受欢迎的RDBMS,你通常需要它   在Python中编写Web应用程序时与它交谈。事实   标准,MySQLdb,是一个声誉为的C扩展模块   很难编译,特别是如果你在Mac上(就像我一样)。   此外,最终用户需要等待编译新的二进制文件   对于每个新版本的Python,MySQLdb永远不会在Jython上运行,   IronPython,或PyPy(没有像cpyext或IronClad那样的东西)。我们   同时保持Python 2和Python 3之间的100%兼容性   在2.x主干上的进步将立即可用   Python 3。

     

我们正在开发一个替代MySQLdb的替代品,而且#34;正常工作"   没有编译和安装C扩展和麻烦的麻烦   不用担心你会使用什么平台。

来源https://code.google.com/p/pymysql/wiki/Goals

答案 1 :(得分:2)

许多项目使用PyMySQL,因为它支持Python 3(3.3及更高版本)以及Python 2.在撰写本文时,它在Github上有超过650个分支和60多个贡献者。每隔几个月左右就会有定期的更新和补丁,并且它在Python社区中很受欢迎,因为它相对容易安装和支持Python 3。 所有这一切都说,是的,我会说它得到了很好的支持。

现在速度:因为它是用纯Python编写而MySQLdb是C,你可以期待PyMySQL更慢。为了进行深入分析,我建议您查看本文底部的openstack链接。根据他们的测试, PyMySQL比MySQLdb慢大约10倍。但是,对于DB调用,无论如何都是IO绑定,因此PyMySQL支持gevent或类似异步IO的优势可能会根据您的应用程序来弥补速度。

来源:

  1. https://github.com/PyMySQL/PyMySQL
  2. https://wiki.openstack.org/wiki/PyMySQL_evaluation