Berkat komentar yang bermanfaat, terutama dari @roganjosh, tampaknya masalahnya adalah konektor mysql default ditulis dalam python daripada C, yang membuatnya sangat lambat. Solusinya adalah dengan menggunakan MySQLdb
, yang merupakan konektor C asli.
Dalam pengaturan khusus saya, menjalankan python 3 dengan anaconda, itu tidak mungkin karena MySQLdb
hanya didukung di python 2. Namun, ada implementasi MySQLdb
untuk python 3 dengan nama mysqlclient
.
Dengan menggunakan implementasi ini, waktu sekarang turun menjadi sekitar 5 menit untuk membaca seluruh tabel, tidak secepat R, tetapi jauh lebih sedikit dari 40 atau lebih yang dibutuhkan sebelumnya.
Saya masih terbuka untuk saran yang akan membuatnya lebih cepat, tetapi tebakan saya adalah bahwa ini sebaik yang akan didapat.