我想確定從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秒即可獲取表 –
這意味着您已連接到數據庫。當基準測試不同的方法時,是否排除了連接到數據庫所需的時間? –