для Python3.6 Я нашел два драйвера: pymysql и mysqlclient. Я проверил производительность между ними и получил результат: mysqlclient работает быстрее.
ниже - мой тестовый процесс (нужно проанализировать python lib profilehooks для анализа прошедшего времени:
сырой sql: select * from FOO;
немедленно выполнить в терминале mysql:
46410 rows in set (0.10 sec)
pymysql (2,4 с):
from profilehooks import profile
import pymysql.cursors
import pymysql
connection = pymysql.connect(host='localhost', user='root', db='foo')
c = connection.cursor()
@profile(immediate=True)
def read_by_pymysql():
c.execute("select * from FOO;")
res = c.fetchall()
read_by_pymysql()
вот профиль pymysql:
mysqlclient (0.4s)
from profilehooks import profile
import MySQLdb
connection = MySQLdb.connect(host='localhost', user='root', db='foo')
c = connection.cursor()
@profile(immediate=True)
def read_by_mysqlclient():
c.execute("select * from FOO;")
res = c.fetchall()
read_by_mysqlclient()
вот профиль mysqlclient:
Итак, похоже, что mysqlclient намного быстрее, чем pymysql