Я использую Python 3 с пакетом pymysql
для запроса необработанных данных из AWS Aurora
при выполнении из EC2 с Amazon Linux. И я хотел бы значительно улучшить производительность.
Пока мне удалось выполнить задание, но для получения результатов 2,3 миллиона строк мне понадобилось 150 секунд, используя следующий код:
import pandas as pd
import pymysql
conn = pymysql.connect(host, user=user,port=port,
passwd=password, db=dbname)
myQuery = '''
SELECT * FROM fEvents f
Left Join fParams fp
on f.id = fp.id
WHERE f.DateTime BETWEEN '2019-01-24' and '2019-02-28'
'''
df = pd.read_sql(myQuery, con=conn)
Когда мы попытались выполнить тот же запрос из того же EC2, используя node.js
, мы получили объект с 2,3 миллионами результатов в течение всего за 20 секунд!
Поскольку остальная часть кода написана на Python 3, я изо всех сил пытаюсь улучшить производительность моего Python API.
Буду признателен за любые предложения или объяснения, пожалуйста.