Nhờ các nhận xét hữu ích, đặc biệt là từ @roganjosh, có vẻ như vấn đề là trình kết nối mysql mặc định được viết bằng python chứ không phải C, điều này làm cho nó rất chậm. Giải pháp là sử dụng MySQLdb
, là trình kết nối C gốc.
Trong thiết lập cụ thể của tôi, chạy python 3 với anaconda, điều đó không thể thực hiện được vì MySQLdb
chỉ được hỗ trợ trong python 2. Tuy nhiên, có một triển khai của MySQLdb
cho python 3 dưới tên mysqlclient
.
Sử dụng cách triển khai này, thời gian hiện giảm xuống còn khoảng 5 phút để đọc toàn bộ bảng, không nhanh như R, nhưng ít hơn nhiều so với 40 hoặc lâu hơn so với trước đây.
Tôi vẫn sẵn sàng đón nhận các đề xuất có thể làm cho nó nhanh hơn, nhưng tôi đoán rằng điều này là tốt như nó sẽ nhận được.