我想确定从MySQL获取数据到熊猫的最快方式。到目前为止,我曾尝试三种不同的方法:从MySQL获取表格到熊猫的最快方法
方法1:使用pymysql和修改字段类型(由Fastest way to load numeric data into python/pandas/numpy array from MySQL启发)
import pymysql
from pymysql.converters import conversions
from pymysql.constants import FIELD_TYPE
conversions[FIELD_TYPE.DECIMAL] = float
conversions[FIELD_TYPE.NEWDECIMAL] = float
conn = pymysql.connect(host = host, port = port, user= user, passwd= passwd, db= db)
方法2:使用MySQLdb的
import MySQLdb
from MySQLdb.converters import conversions
from MySQLdb.constants import FIELD_TYPE
conversions[FIELD_TYPE.DECIMAL] = float
conversions[FIELD_TYPE.NEWDECIMAL] = float
conn = MySQLdb.connect(host = host, port = port, user= user, passwd= passwd, db= db)
方法3:使用sqlalchemy
import sqlalchemy as SQL
engine = SQL.create_engine('mysql+mysqldb://{0}:{1}@{2}:{3}/{4}'.format(user, passwd, host, port, db))
方法2是最好的这些三次,平均需要4秒才能拿到我的桌子。但是,在MySQL Workbench上取表只需要2秒钟。我怎样才能削减这2多秒?有谁知道任何替代方法来完成这个?
你是什么意思?“但是,MySQL只读取表格需要2秒。”?你已经连接到MySQL了吗? –
对不起,我的意思是当我在MySQL工作台上运行SELECT * FROM表时,只需2秒即可获取表 –
这意味着您已连接到数据库。当基准测试不同的方法时,是否排除了连接到数据库所需的时间? –