Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Carregar a tabela mysql em python leva muito tempo em comparação com R


Graças a comentários úteis, particularmente de @roganjosh, parece que o problema é que o conector mysql padrão é escrito em python em vez de C, o que o torna muito lento. A solução é usar MySQLdb , que é um conector C nativo.

Na minha configuração específica, executando python 3 com anaconda, isso não foi possível porque MySQLdb é suportado apenas em python 2. No entanto, existe uma implementação de MySQLdb para python 3 sob o nome mysqlclient .

Usando essa implementação, o tempo agora é de cerca de 5 minutos para ler a tabela inteira, não tão rápido quanto R, mas muito menos do que os 40 ou mais que levava antes.

Ainda estou aberto a sugestões que o tornariam mais rápido, mas meu palpite é que isso é tão bom quanto possível.