Mysql
 sql >> Database >  >> RDS >> Mysql

Il caricamento della tabella MySQL in Python richiede molto tempo rispetto a R

Grazie a commenti utili, in particolare da @roganjosh, sembra che il problema sia che il connettore mysql predefinito sia scritto in python anziché in C, il che lo rende molto lento. La soluzione è usare MySQLdb , che è un connettore C nativo.

Nella mia configurazione particolare, eseguire Python 3 con anaconda, non era possibile perché MySQLdb è supportato solo in Python 2. Tuttavia, esiste un'implementazione di MySQLdb per Python 3 sotto il nome mysqlclient .

Usando questa implementazione il tempo è ora sceso a circa 5 minuti per leggere l'intera tabella, non veloce come R, ma molto meno dei 40 circa che ci voleva prima.

Sono ancora aperto a suggerimenti che lo rendano più veloce, ma suppongo che questo sia il massimo che potrà succedere.