Takket være nyttige kommentarer, især fra @roganjosh, ser det ud til, at problemet er, at standard mysql-stikket er skrevet i python i stedet for C, hvilket gør det meget langsomt. Løsningen er at bruge MySQLdb
, som er et indbygget C-stik.
I min særlige opsætning, at køre python 3 med anaconda, var det ikke muligt, fordi MySQLdb
er kun understøttet i python 2. Der er dog en implementering af MySQLdb
til python 3 under navnet mysqlclient
.
Ved at bruge denne implementering er tiden nede på omkring 5 minutter til at læse hele tabellen, ikke så hurtigt som R, men meget mindre end de 40 eller deromkring, det tog før.
Jeg er stadig åben for forslag, der ville gøre det hurtigere, men mit gæt er, at dette er så godt, som det bliver.